Documentation SolanaLiteSVMRustTester votre programme

Démarrage rapide

Configuration

Avant de tester votre programme, assurez-vous de :

  1. Compiler votre programme pour générer le fichier .so
  2. Ajouter litesvm comme dépendance de développement dans le fichier Cargo.toml
  3. Ajouter toutes les dépendances de développement supplémentaires qui pourraient être nécessaires, comme solana-sdk et litesvm-token
  4. Créer un fichier de test dans votre répertoire tests

Structure de base d'un test de programme

Voici toutes les étapes de base nécessaires pour appeler et exécuter une instruction dans un programme Solana.

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

L'environnement de test par défaut généré avec LiteSVM::new() inclut toutes les fonctionnalités d'exécution activées, les sysvars par défaut, les précompilations, les programmes spl, la vérification des signatures, ainsi que tous les programmes intégrés, comme le System Program.

Si vous souhaitez interagir avec un programme qui n'est pas inclus dans l'environnement de test par défaut, vous devez déployer ce programme dans l'environnement de test.

Étapes suivantes

Dans la section suivante, nous allons tout apprendre sur le déploiement de programmes dans l'environnement de test litesvm.

Is this page helpful?

Table des matières

Modifier la page
© 2026 Fondation Solana. Tous droits réservés.