はじめに

クイックスタートガイド

このガイドでは、アカウントの作成、資金の追加、トランザクションの送信といった基本的な手順を説明します。

依存関係のインストール

LiteSVMを開発用依存関係に追加します:

cargo add --dev litesvm

いくつかのSolanaクレートは、必要な型やユーティリティを提供することでテスト体験を向上させます。solana-sdkコンビニエンスクレート、または個別のコンポーネントクレートを使用できます:

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からの送金instructionsの実行をカバーしています。

すべてのテストを実行する

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?

目次

ページを編集
© 2026 Solana Foundation. 無断転載を禁じます。