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:
use litesvm::LiteSVM;use solana_sdk::signature::{Keypair, Signer};#[test]fn create_account() {// Create the test environmentlet mut svm = LiteSVM::new();// Create a test accountlet user = Keypair::new();// Fund the account with SOLsvm.airdrop(&user.pubkey(), 1_000_000_000).unwrap();// Check the balancelet 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 testtest create_account ... oksuccesses:---- create_account stdout ----Account funded with 1 SOLsuccesses: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:
use litesvm::LiteSVM;use solana_sdk::{signature::{Keypair, Signer},system_instruction,transaction::Transaction,};#[test]fn test_transfer() {let mut svm = LiteSVM::new();// Create two accountslet alice = Keypair::new();let bob = Keypair::new();// Fund Alicesvm.airdrop(&alice.pubkey(), 2_000_000_000).unwrap();// Create transfer instructionlet transfer = system_instruction::transfer(&alice.pubkey(),&bob.pubkey(),1_000_000_000, // 1 SOL);// Build and sign transactionlet 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 balancesassert_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 testtest create_account ... oksuccesses:---- create_account stdout ----Account funded with 1 SOLsuccesses:create_accounttest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04sRunning tests/test_transfer.rs (target/debug/deps/test_transfer-f174954e7483f36b)running 1 testtest test_transfer ... oksuccesses:---- test_transfer stdout ----Transfer successful!successes:test_transfertest 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?