Asennus
Ennen ohjelmasi testaamista varmista, että:
- Käännä ohjelmasi luodaksesi
.so-tiedoston - Lisää
litesvmkehitysriippuvuudeksiCargo.toml-tiedostoon - Lisää tarvittavat lisäkehitysriippuvuudet, kuten
solana-sdkjalitesvm-token - Luo testitiedosto
tests-hakemistoosi
Perusohjelman testipohja
Tässä ovat kaikki perusvaiheet, joita tarvitaan ohjeen kutsumiseen ja suorittamiseen Solana-ohjelmassa.
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 environmentlet mut svm = LiteSVM::new();// Deploy your program to the test environmentlet 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 accountslet payer = Keypair::new();svm.airdrop(&payer.pubkey(), 10_000_000_000).unwrap();// Create your instructionlet instruction = Instruction {program_id,accounts: vec![AccountMeta::new(payer.pubkey(), true),],data: vec![],};// Build transactionlet tx = Transaction::new_signed_with_payer(&[instruction],Some(&payer.pubkey()),&[&payer],svm.latest_blockhash(),);// Send transactionlet result = svm.send_transaction(tx).unwrap();// Check transaction succeededprintln!("Transaction logs: {:?}", result.logs);println!("Program executed successfully!");}
Oletustestiympäristö, joka luodaan LiteSVM::new():llä, sisältää kaikki
käytössä olevat ajonaikaiset ominaisuudet, oletussysvarsit, esikäännökset,
spl-ohjelmat, allekirjoitusvarmistuksen sekä kaikki sisäänrakennetut ohjelmat,
kuten System Program.
Jos haluat käyttää ohjelmaa, jota ei ole sisällytetty oletustestiympäristöön, sinun on otettava kyseinen ohjelma käyttöön testiympäristössä.
Seuraavat vaiheet
Seuraavassa osiossa opimme kaiken ohjelmien käyttöönotosta litesvm-testiympäristöön.
Is this page helpful?