lezione 09

testing

test unitari con cargo test.

livello: intermedio durata: 22 min output: suite test badge: rust essentials

testing

#[test]
fn sum() { assert_eq!(2 + 2, 4); }

moduli

pub mod utils { pub fn ping() { println!("ok"); } }

cargo toml

[package]
name = "studio"
version = "0.1.0"

result e option

fn load(ok: bool) -> Result<String, String> {
  if ok { Ok("ok".into()) } else { Err("fail".into()) }
}

esercizi

scrivi un test unitario base.

#[test]
fn sum() { assert_eq!(2 + 2, 4); }

panoramica

In questo capitolo su testing lavoriamo su testing, moduli, cargo toml, result e option per creare micro-pattern riutilizzabili.

lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali.

badge: rust essentials

obiettivi

  • capire e applicare testing in uno scenario reale
  • capire e applicare moduli in uno scenario reale
  • capire e applicare cargo toml in uno scenario reale
  • capire e applicare result e option in uno scenario reale

scheda rapida

#[test]
fn sum() { assert_eq!(2 + 2, 4); }

adatta questo scheletro agli esempi della lezione.

tips

  • gestisci sempre Result
  • preferisci iterators
  • usa cargo fmt
  • separa moduli per dominio
  • riduci mutabilità
  • mantieni i test piccoli e indipendenti

tip: documenta ogni scelta architetturale.

mini progetto

aggiungi test unitari in mod tests.

  • crea #[test]
  • assert
  • cargo test

output atteso: test passati.

checklist

  • ho eseguito gli snippet e controllato l'output
  • ho annotato almeno 2 trade-off
  • ho completato il mini progetto
  • ho salvato un riepilogo personale
start a brief