Hướng Dẫn Bắt Đầu Nhanh
Hướng dẫn này bao gồm các kiến thức cơ bản: cách tạo tài khoản, nạp tiền vào tài khoản và gửi một giao dịch.
Cài Đặt Các Phụ Thuộc
Thêm LiteSVM vào các phụ thuộc phát triển của bạn:
cargo add --dev litesvm
Một số crate Solana giúp nâng cao trải nghiệm kiểm tra bằng cách cung cấp các
kiểu dữ liệu và tiện ích cần thiết. Bạn có thể sử dụng crate tiện lợi
solana-sdk hoặc các crate thành phần riêng lẻ:
cargo add --dev solana-sdk
Tạo Tệp Kiểm Tra
Trong không gian làm việc của bạn, hãy tạo một thư mục cho tests.
mkdir tests
Tạo và Nạp Tiền cho Tài Khoản
Hãy viết bài kiểm tra LiteSVM đầu tiên của bạn.
Trong thư mục tests của bạn, hãy tạo một tệp mới và sao chép đoạn mã này:
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);}
Chạy Bài Kiểm Tra của Bạn
cargo test create_account -- --show-output
Bạn sẽ thấy:
running 1 testtest create_account ... oksuccesses:---- create_account stdout ----Account funded with 1 SOLsuccesses:create_account
Vậy là xong! Bạn vừa tạo bài kiểm thử litesvm đầu tiên của mình, bao gồm việc tạo một tài khoản và nạp tiền vào đó.
Thực Thi Một Giao Dịch
Bây giờ hãy tạo một giao dịch chuyển tiền.
Tạo một tệp kiểm thử mới và sao chép đoạn mã này:
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!");}
Kiểm thử hoàn tất! Bài kiểm thử này bao gồm việc thực thi lệnh chuyển tiền từ System Program.
Chạy Tất Cả Các Bài Kiểm Thử
cargo test -- --show-output
Bạn sẽ thấy:
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
Vậy là xong! Bây giờ bạn đã tạo thành công các bài kiểm thử litesvm để tạo, nạp tiền vào tài khoản và thực thi các giao dịch.
Các Bước Tiếp Theo
Tại Sao Dùng LiteSVM → Tìm hiểu lý do bạn nên sử dụng LiteSVM để kiểm thử
Kiểm Thử Chương Trình Của Bạn
→ Tìm hiểu cách kiểm thử chương
trình Solana của bạn
Ví Dụ → Xem
các giải pháp copy-paste cho các tình huống phổ biến và ví dụ kho lưu trữ
đầy đủ
Tài Liệu API → Tìm
hiểu các tính năng nâng cao và cấu hình tùy chỉnh
Is this page helpful?