JUnit 5 pour Java : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction à JUnit 5

\n\n

JUnit 5 est un framework moderne de tests unitaires (unit testing) pour le langage Java. Il constitue l'évolution du populaire JUnit 4 et fait partie de l'écosystème Java en tant que standard de facto pour l'écriture de tests automatisés. JUnit 5 n'est pas une simple mise à jour, mais une architecture entièrement repensée, composée de trois sous-projets : JUnit Platform (exécution des tests), JUnit Jupiter (nouveau modèle de programmation et d'extensions) et JUnit Vintage (rétrocompatibilité avec JUnit 3/4).

\n\n

Pourquoi JUnit 5 est-il nécessaire ? Dans le développement moderne (notamment dans les méthodologies TDD — Test-Driven Development), les tests ne sont pas une option, mais une étape obligatoire. JUnit 5 permet de :

\n
    \n
  • Automatiser la vérification du code : Exécuter des centaines de tests en une seule commande.
  • \n
  • Assurer la fiabilité de la régression : Vérifier que le nouveau code n'a pas cassé les fonctionnalités existantes.
  • \n
  • Améliorer la conception du code : Le code testable est souvent plus modulaire et faiblement couplé.
  • \n
  • Documenter le comportement : Les tests servent de documentation vivante, montrant comment une classe ou une méthode doit fonctionner.
  • \n
  • S'intégrer dans le CI/CD : JUnit 5 s'intègre facilement avec Maven, Gradle, Jenkins, GitHub Actions.
  • \n
\n\n

Principales nouveautés de JUnit 5 par rapport à JUnit 4 : annotations de nouvelle génération (@Test, @ParameterizedTest, @Nested), système d'extensions puissant (Extensions), prise en charge des expressions lambda et des API de flux, ainsi que la prise en charge intégrée des tests paramétrés et dynamiques.

\n\n

Installation de JUnit 5

\n\n

Java étant un langage compilé, l'installation se fait via des gestionnaires de dépendances (Maven ou Gradle). JUnit 5 ne s'installe pas via pip ou npm. Vous trouverez ci-dessous les instructions pour les deux systèmes de construction les plus populaires.

\n\n

Installation via Maven (pom.xml)

\n

Ajoutez les dépendances suivantes à votre fichier pom.xml. Il est recommandé d'utiliser la dernière version stable (au moment de la rédaction — 5.11.0, vérifiez la version actuelle sur MVNRepository).

\n
<dependencies>\n    <!-- Module principal JUnit Jupiter (inclut API, Engine et paramétrage) -->\n    <dependency>\n        <groupId>org.junit.jupiter</groupId>\n        <artifactId>junit-jupiter</artifactId>\n        <version>5.11.0</version>\n        <scope>test</scope>\n    </dependency>\n    <!-- (Optionnel) Pour la compatibilité avec JUnit 4 -->\n    <dependency>\n        <groupId>org.junit.vintage</groupId>\n        <artifactId>junit-vintage-engine</artifactId>\n        <version>5.11.0</version>\n        <scope>test</scope>\n    </dependency>\n</dependencies>
\n\n

Installation via Gradle (build.gradle)

\n

Ajoutez dans la section dependencies :

\n
dependencies {\n    testImplementation 'org.junit.jupiter:junit-jupiter:5.11.0'\n    // (Optionnel) Pour JUnit 4\n    testImplementation 'org.junit.vintage:junit-vintage-engine:5.11.0'\n}\n\ntest {\n    useJUnitPlatform() // Obligatoire pour activer JUnit 5\n}
\n\n

Installation sans système de construction (Java simple)

\n

Si vous n'utilisez pas Maven/Gradle, téléchargez les fichiers JAR depuis le dépôt officiel et ajoutez-les au classpath de votre projet. Cependant, cela est fortement déconseillé pour les projets réels.

\n\n

Démarrage rapide : premier test avec JUnit 5

\n\n

Créons une classe simple Calculator et écrivons un test pour elle.

\n\n

1. Classe à tester (Calculator.java) :

\n
public class Calculator {\n    public int add(int a, int b) {\n        return a + b;\n    }\n\n    public int divide(int a, int                    

Recommendations