Solana-dokumentaatioLiteSVMRustOhjelmasi testaaminen

Pika-aloitus

Asennus

Ennen ohjelmasi testaamista varmista, että:

  1. Käännä ohjelmasi luodaksesi .so-tiedoston
  2. Lisää litesvm kehitysriippuvuudeksi Cargo.toml-tiedostoon
  3. Lisää tarvittavat lisäkehitysriippuvuudet, kuten solana-sdk ja litesvm-token
  4. Luo testitiedosto tests-hakemistoosi

Perusohjelman testipohja

Tässä ovat kaikki perusvaiheet, joita tarvitaan ohjeen kutsumiseen ja suorittamiseen Solana-ohjelmassa.

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!");
}

Oletustestiympäristö, joka luodaan LiteSVM::new():llä, sisältää kaikki käytössä olevat ajonaikaiset ominaisuudet, oletussysvarsit, esikäännökset, spl-ohjelmat, allekirjoitusvarmistuksen sekä kaikki sisäänrakennetut ohjelmat, kuten System Program.

Jos haluat käyttää ohjelmaa, jota ei ole sisällytetty oletustestiympäristöön, sinun on otettava kyseinen ohjelma käyttöön testiympäristössä.

Seuraavat vaiheet

Seuraavassa osiossa opimme kaiken ohjelmien käyttöönotosta litesvm-testiympäristöön.

Is this page helpful?

Sisällysluettelo

Muokkaa sivua
© 2026 Solana Foundation. Kaikki oikeudet pidätetään.