Documentação SolanaLiteSVMRustTestando Seu Programa

Início Rápido

Configuração

Antes de testar seu programa, certifique-se de:

  1. Compile seu programa para gerar o arquivo .so
  2. Adicione litesvm como dependência de desenvolvimento ao arquivo Cargo.toml
  3. Adicione quaisquer dependências de desenvolvimento adicionais que possam ser necessárias, como solana-sdk e litesvm-token
  4. Crie um arquivo de teste no diretório tests

Estrutura Básica de Teste de Programa

Aqui estão todos os passos básicos necessários para chamar e executar uma instrução em um programa Solana.

tests/program_test.rs
use litesvm::LiteSVM;
use solana_sdk::{
instruction::{AccountMeta, Instruction},
pubkey::Pubkey,
signature::{Keypair, Signer},
transaction::Transaction,
};
use my_program;
#[test]
fn test_my_program() {
// Initialize the test environment
let mut svm = LiteSVM::new();
// Deploy your program to the test environment
let program_id = Pubkey::from(my_program::ID);
let program_bytes = include_bytes!("../../../target/deploy/my_program.so");
svm.add_program(program_id, program_bytes);
// Create and fund test accounts
let payer = Keypair::new();
svm.airdrop(&payer.pubkey(), 10_000_000_000).unwrap();
// Create your instruction
let instruction = Instruction {
program_id,
accounts: vec![
AccountMeta::new(payer.pubkey(), true),
],
data: vec![],
};
// Build transaction
let tx = Transaction::new_signed_with_payer(
&[instruction],
Some(&payer.pubkey()),
&[&payer],
svm.latest_blockhash(),
);
// Send transaction
let result = svm.send_transaction(tx).unwrap();
// Check transaction succeeded
println!("Transaction logs: {:?}", result.logs);
println!("Program executed successfully!");
}

O ambiente de teste padrão gerado com LiteSVM::new() inclui todos os recursos de runtime habilitados, sysvars padrão, precompilações, programas spl, sigverify e todos os programas integrados, como o System Program.

Se você quiser interagir com qualquer programa que não esteja incluído no ambiente de teste padrão, você deve implantar esse programa no ambiente de teste.

Próximos Passos

Na próxima seção, aprenderemos tudo sobre como implantar programas no ambiente de teste do litesvm.

Is this page helpful?

Índice

Editar Página
© 2026 Fundação Solana. Todos os direitos reservados.