Test di integrazione
La directory tests
Test di integrazione è una lezione Learn Rust Coding gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn Rust Coding, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn Rust Coding include 4 lezioni in totale.
Cosa sono i test di integrazione?
I test di integrazione verificano l'API pubblica del crate come farebbe un utente esterno. Si trovano al di fuori di src e possono chiamare solo elementi pubblici.
La directory tests
Cargo tratta ogni file nella directory tests/ di primo livello come un crate di test separato. Qui non serve alcun modulo #[cfg(test)].
tests/api.rstests/parsing.rs
Una libreria da testare
I test di integrazione hanno come obiettivo un crate di libreria. Supponiamo che src/lib.rs esponga una funzione pubblica.
// src/lib.rs
pub fn add(a: i32, b: i32) -> i32 {
a + b
}Scrivere un test di integrazione
In tests/add.rs, importate il crate tramite il suo nome e testatene l'API pubblica. Ogni funzione usa comunque #[test].
// tests/add.rs
use my_lib::add;
#[test]
fn adds_two_numbers() {
assert_eq!(add(2, 2), 4);
}Solo elementi pubblici
Poiché i test di integrazione sono un crate separato, possono usare solo elementi pubblici (pub). Le funzioni private sono invisibili, proprio come lo sarebbero per qualsiasi utente reale.
Eseguire i test di integrazione
cargo test esegue insieme i test unitari e quelli di integrazione. Nell'output, ogni file in tests/ compare come binario di test separato.
cargo testEseguire un singolo file
Usate --test con il nome del file, senza estensione, per eseguire un singolo file di test di integrazione.
cargo test --test addHelper condivisi per i test
Per condividere il codice di configurazione senza trasformarlo in un file di test, inserite gli helper in tests/common/mod.rs. I file nelle sottodirectory non vengono trattati come crate di test.
// tests/common/mod.rs
pub fn setup() {
// shared setup logic
}Usare l'helper
Dichiarate il modulo e chiamatene le funzioni dal test di integrazione.
// tests/api.rs
mod common;
#[test]
fn uses_setup() {
common::setup();
assert!(true);
}Test unitari e di integrazione
Due stili di test complementari:
- Test unitari: si trovano in
src, possono testare elementi privati e sono rapidi e mirati - Test di integrazione: si trovano in
tests/e testano l'API pubblica dall'inizio alla fine
Testare un crate binario
I test di integrazione hanno come obiettivo le librerie, non i binari. Un approccio comune consiste nel mantenere la logica in src/lib.rs e avere un src/main.rs sottile che la chiama, così sia i test unitari sia quelli di integrazione possono raggiungere il codice.
// src/main.rs
fn main() {
println!("{}", my_lib::add(2, 3));
}Verifica rapida
Dove si trovano i test di integrazione e a cosa possono accedere?
Riepilogo
Avete imparato a usare i test di integrazione:
- I file in
tests/sono crate di test separati - Importano il crate tramite il suo nome e testano solo gli elementi pubblici
cargo test --test nameesegue un singolo file- Gli helper condivisi si inseriscono in
tests/common/mod.rs
Domande Frequenti
La lezione «Test di integrazione» è gratuita?
Sì — il testo completo di «Test di integrazione» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn Rust Coding, passa a CoddyKit PRO. Il corso Learn Rust Coding include 4 lezioni in totale.
Cosa imparerò in «Test di integrazione»?
La directory tests Eserciti Learn Rust Coding con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn Rust Coding?
Non è richiesta alcuna esperienza precedente. Learn Rust Coding su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Test di integrazione»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn Rust Coding?
Sì. Ogni lezione Learn Rust Coding include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Test unitari
- Test di integrazione
- Commenti di documentazione
- Test della documentazione