Solana DokümantasyonuLiteSVMRustProgramınızı Test Etme

Hızlı Başlangıç

Kurulum

Programınızı test etmeden önce şunları yaptığınızdan emin olun:

  1. .so dosyasını oluşturmak için programınızı derleyin
  2. litesvm bağımlılığını Cargo.toml dosyasına geliştirme bağımlılığı olarak ekleyin
  3. solana-sdk ve litesvm-token gibi gerekli olabilecek ek geliştirme bağımlılıklarını ekleyin
  4. tests dizininizde bir test dosyası oluşturun

Temel Program Test Yapısı

Bir Solana programında bir talimatı çağırmak ve yürütmek için gereken tüm temel adımlar aşağıda verilmiştir.

tests/program_test.rs
use litesvm::LiteSVM;
use solana_sdk::{
instruction::{AccountMeta, Instruction},
pubkey::Pubkey,
signature::{Keypair, Signer},
transaction::Transaction,
};
use my_program;
#[test]
fn test_my_program() {
// Initialize the test environment
let mut svm = LiteSVM::new();
// Deploy your program to the test environment
let program_id = Pubkey::from(my_program::ID);
let program_bytes = include_bytes!("../../../target/deploy/my_program.so");
svm.add_program(program_id, program_bytes);
// Create and fund test accounts
let payer = Keypair::new();
svm.airdrop(&payer.pubkey(), 10_000_000_000).unwrap();
// Create your instruction
let instruction = Instruction {
program_id,
accounts: vec![
AccountMeta::new(payer.pubkey(), true),
],
data: vec![],
};
// Build transaction
let tx = Transaction::new_signed_with_payer(
&[instruction],
Some(&payer.pubkey()),
&[&payer],
svm.latest_blockhash(),
);
// Send transaction
let result = svm.send_transaction(tx).unwrap();
// Check transaction succeeded
println!("Transaction logs: {:?}", result.logs);
println!("Program executed successfully!");
}

LiteSVM::new() ile oluşturulan varsayılan test ortamı; tüm çalışma zamanı özelliklerini, varsayılan sysvar'ları, ön derleme bileşenlerini, spl programlarını, sigverify'ı ve System Program dahil tüm yerleşik programları içerir.

Varsayılan test ortamına dahil edilmeyen herhangi bir programla etkileşim kurmak istiyorsanız, o programı test ortamına dağıtmanız gerekir.

Sonraki Adımlar

Bir sonraki bölümde, litesvm test ortamına program dağıtımı hakkında her şeyi öğreneceğiz.

Is this page helpful?

İçindekiler

Sayfayı Düzenle
© 2026 Solana Vakfı. Tüm hakları saklıdır.