Testando Validador Local
Fluxos de trabalho de teste local para programas e clientes. Os resultados aparecem na mesma seção: comentários // na mesma linha quando curtos, blocos // de várias linhas abaixo da amostra quando não.
Busque em todas as páginas da documentação
Fluxos de trabalho de teste local para programas e clientes. Os resultados aparecem na mesma seção: comentários // na mesma linha quando curtos, blocos // de várias linhas abaixo da amostra quando não.
Execute um cluster local.
// solana-test-validator
// RPC http://127.0.0.1:8899Financie contas de teste.
// await connection.requestAirdrop(pubkey, 2 * LAMPORTS_PER_SOL)Construa + validador local + testes estilo mocha/jest.
// anchor testSVM em processo para testes unitários rápidos (bindings Rust/TS).
// let mut svm = LiteSVM::new();
// svm.airdrop(&pk, lamports);API BanksClient do solana-program-test.
// let mut context = ProgramTest::new(...).start_with_context().await;Avance o clock/slot no program-test.
// context.warp_to_slot(slot)Carregue .so no validador local.
// solana program deploy target/deploy/prog.soClone contas mainnet para local para testes de integração.
// solana-test-validator --clone <pubkey>Ferramentas Surfpool para fluxos de trabalho semelhantes aos locais.
// surfpool start (veja CLI atual)Corresponda logs de programa em testes.
// expect logs to contain "Instruction: Initialize"Isole keypairs/mints por teste.
// Keypair.generate() por casoReinicie o ledger quando o estado estiver sujo.
// solana-test-validator --resetTestes locais frequentemente usam processed/confirmed.
// commitment: "processed"Defina unix_timestamp nos sysvars do program-test.
// context.set_sysvar(&Clock { ... })Armazene em cache compilações cargo/anchor em CI para velocidade.
// cache ~/.cargo and target/Versões da Stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, Rust 1.91.1 e @solana/kit 7.0.0.
Revisado por Chris St. John·Última atualização: 18 de jul. de 2026