setup
// build.gradle
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.0'
}
assert
import static org.junit.jupiter.api.Assertions.*;
@Test
void sumWorks() {
assertEquals(4, 2 + 2);
}
parameterized
@ParameterizedTest
@ValueSource(ints = {1,2,3})
void positive(int value) {
assertTrue(value > 0);
}
best practice
- nomina i test con intent chiaro
- una responsabilità per test
- usa fixture leggere
panoramica
In questo capitolo su testing con junit, test unitari puliti per sistemi affidabili. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.
Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).
badge: testing ready
obiettivi
- capire e applicare setup in uno scenario reale
- capire e applicare assert in uno scenario reale
- capire e applicare parameterized in uno scenario reale
- capire e applicare best practice in uno scenario reale
scheda rapida
import java.util.List;
public class Main {
public static void main(String[] args) {
var dati = List.of(1, 2, 3);
var out = dati.stream().map(x -> x * 2).toList();
System.out.println(out);
}
}
Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.
mini progetto
Suite di test per calcolo imposte.
- scrivi TaxCalculator
- aggiungi test parametrici
- copri edge cases
- esegui la suite
output atteso: uno script o query ripetibile con risultati verificabili.
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