快速入门

快速入门指南

本指南涵盖基础内容:如何创建账户、为账户充值以及发送交易。

安装依赖项

将 LiteSVM 添加到您的开发依赖项中:

cargo add --dev litesvm

多个 Solana crate 通过提供必要的类型和工具来增强测试体验。您可以使用 solana-sdk 便捷 crate 或各个独立组件 crate:

cargo add --dev solana-sdk

创建测试文件

在您的工作区内,为 tests 创建一个文件夹。

mkdir tests

创建并充值账户

让我们编写您的第一个 LiteSVM 测试。

在您的 tests 文件夹内,创建一个新文件并复制以下代码:

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

运行您的测试

cargo test create_account -- --show-output

您应该会看到:

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

太好了! 您刚刚完成了第一个 litesvm 测试,涵盖了创建账户并为其充值。

执行交易

现在让我们创建一笔转账交易。

创建一个新的测试文件并复制以下代码:

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

测试完成! 本测试涵盖了执行来自 System Program 的转账指令。

运行所有测试

cargo test -- --show-output

您应该看到:

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

就是这样! 现在您已成功创建了 litesvm 测试,这些测试可以创建并充值账户,以及执行交易。

下一步

为什么选择 LiteSVM → 了解为什么您应该使用 LiteSVM 进行测试

测试您的程序 → 了解如何测试您自己的 Solana 程序
示例 → 查看常见场景的即用型解决方案和完整的代码库示例
API 参考 → 了解高级功能和自定义配置

Is this page helpful?

Table of Contents

Edit Page
©️ 2026 Solana 基金会版权所有