Dokumentasi SolanaLiteSVMRustMenguji Program Anda

Mulai Cepat

Pengaturan

Sebelum menguji program Anda, pastikan Anda:

  1. Build program Anda untuk menghasilkan file .so
  2. Tambahkan litesvm sebagai dependensi dev ke file Cargo.toml
  3. Tambahkan dependensi dev tambahan yang mungkin diperlukan, seperti solana-sdk dan litesvm-token
  4. Buat file pengujian di direktori tests Anda

Tata Letak Pengujian Program Dasar

Berikut adalah semua langkah dasar yang diperlukan untuk memanggil dan mengeksekusi instruksi dalam sebuah program 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!");
}

Lingkungan pengujian default yang dihasilkan dengan LiteSVM::new() mencakup semua fitur runtime yang diaktifkan, sysvars default, precompiles, program spl, sigverify, dan semua program bawaan, seperti System Program.

Jika Anda ingin berinteraksi dengan program apa pun yang tidak disertakan dalam lingkungan pengujian default, Anda harus men-deploy program tersebut ke lingkungan pengujian.

Langkah Selanjutnya

Di bagian berikutnya, kita akan mempelajari semua tentang men-deploy program ke lingkungan pengujian litesvm.

Is this page helpful?

Daftar Isi

Edit Halaman
© 2026 Yayasan Solana. Semua hak dilindungi.