Memulai

Panduan Memulai Cepat

Panduan ini mencakup dasar-dasarnya: cara membuat akun, mendanai akun, dan mengirim transaksi.

Instal Dependensi

Tambahkan LiteSVM ke dependensi pengembangan Anda:

cargo add --dev litesvm

Beberapa crate Solana meningkatkan pengalaman pengujian dengan menyediakan tipe dan utilitas yang penting. Anda dapat menggunakan crate kenyamanan solana-sdk atau crate komponen individual:

cargo add --dev solana-sdk

Buat File Pengujian

Di dalam workspace Anda, buat folder untuk tests.

mkdir tests

Buat dan Danai Akun

Mari tulis pengujian LiteSVM pertama Anda.

Di dalam folder tests Anda, buat file baru dan salin kode ini:

tests/create_account.rs
use litesvm::LiteSVM;
use solana_sdk::signature::{Keypair, Signer};
#[test]
fn create_account() {
// Create the test environment
let mut svm = LiteSVM::new();
// Create a test account
let user = Keypair::new();
// Fund the account with SOL
svm.airdrop(&user.pubkey(), 1_000_000_000).unwrap();
// Check the balance
let balance = svm.get_balance(&user.pubkey()).unwrap();
assert_eq!(balance, 1_000_000_000);
println!("Account funded with {} SOL", balance as f64 / 1e9);
}

Jalankan Pengujian Anda

cargo test create_account -- --show-output

Anda akan melihat:

running 1 test
test create_account ... ok
successes:
---- create_account stdout ----
Account funded with 1 SOL
successes:
create_account

Selesai! Anda baru saja membuat tes litesvm pertama Anda, yang mencakup pembuatan akun dan pengisian dananya.

Jalankan Transaksi

Sekarang mari kita buat transaksi transfer.

Buat file tes baru dan salin kode ini:

tests/transfer_test.rs
use litesvm::LiteSVM;
use solana_sdk::{
signature::{Keypair, Signer},
system_instruction,
transaction::Transaction,
};
#[test]
fn test_transfer() {
let mut svm = LiteSVM::new();
// Create two accounts
let alice = Keypair::new();
let bob = Keypair::new();
// Fund Alice
svm.airdrop(&alice.pubkey(), 2_000_000_000).unwrap();
// Create transfer instruction
let transfer = system_instruction::transfer(
&alice.pubkey(),
&bob.pubkey(),
1_000_000_000, // 1 SOL
);
// Build and sign transaction
let tx = Transaction::new_signed_with_payer(
&[transfer],
Some(&alice.pubkey()),
&[&alice],
svm.latest_blockhash(),
);
// Send it (execution happens immediately)
svm.send_transaction(tx).unwrap();
// Check new balances
assert_eq!(svm.get_balance(&bob.pubkey()).unwrap(), 1_000_000_000);
assert!(svm.get_balance(&alice.pubkey()).unwrap() < 1_000_000_000);
println!("Transfer successful!");
}

Tes selesai! Tes ini mencakup pelaksanaan instruksi transfer dari System Program.

Jalankan Semua Tes

cargo test -- --show-output

Anda akan melihat:

running 1 test
test create_account ... ok
successes:
---- create_account stdout ----
Account funded with 1 SOL
successes:
create_account
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
Running tests/test_transfer.rs (target/debug/deps/test_transfer-f174954e7483f36b)
running 1 test
test test_transfer ... ok
successes:
---- test_transfer stdout ----
Transfer successful!
successes:
test_transfer
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s

Selesai! Sekarang Anda telah berhasil membuat pengujian litesvm yang membuat dan mendanai akun serta mengeksekusi transaksi.

Langkah Selanjutnya

Mengapa LiteSVM → Pelajari mengapa Anda ingin menggunakan LiteSVM untuk pengujian

Menguji Program Anda → Pelajari cara menguji program Solana Anda sendiri
Contoh → Lihat solusi siap pakai untuk skenario umum dan contoh repositori lengkap
Referensi API → Pelajari fitur lanjutan dan konfigurasi kustom

Is this page helpful?

Daftar Isi

Edit Halaman
© 2026 Yayasan Solana. Semua hak dilindungi.