0Pricing
Learn Rust Coding · Lezione

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.rs
  • tests/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 test

Eseguire un singolo file

Usate --test con il nome del file, senza estensione, per eseguire un singolo file di test di integrazione.

cargo test --test add

Helper 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 name esegue 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

  1. Test unitari
  2. Test di integrazione
  3. Commenti di documentazione
  4. Test della documentazione
← Torna a Learn Rust Coding