🛢️Parcours Fioul GroupéJava · Chapitre 17
Accueil › Java › Chapitre 17
Chapitre 17 / 22

Tests et JUnit

Vérifier automatiquement que le code fait ce qu'on attend : les tests unitaires avec JUnit, filet de sécurité indispensable d'un projet sérieux.

1 Notion

Pourquoi des tests

Un test unitaire vérifie une petite unité (une méthode) de façon automatique et répétable. Il documente le comportement attendu et détecte les régressions dès qu'on modifie le code.

2 Pratique

Écrire un test

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;

class CampagneTest {
  @Test
  void volumeTotal_additionneLesCommandes() {
    Campagne c = new Campagne("Hiver");
    c.ajouter(new Commande(1500));
    c.ajouter(new Commande(2000));
    assertEquals(3500, c.volumeTotal());   // attendu vs réel
  }

  @Test
  void inscription_campagneCloturee_leve() {
    Campagne c = new Campagne(Statut.CLOTUREE);
    assertThrows(CampagneClotureeException.class, () -> c.inscrire(1500));
  }
}
AAA — un bon test suit Arrange (préparer), Act (agir), Assert (vérifier).
🛢️ Sur le projet Fioul Groupé

On teste les règles métier du domaine : le volume total est bien la somme des commandes, l'inscription à une campagne clôturée lève l'exception. Ces tests JUnit sont exactement ceux qu'exécutera la CI GitHub Actions à chaque Pull Request (parcours Forge) — la CI verte devient une condition de fusion.

À retenir
← Chapitre 16