◎ Formation complète JUnit ◎

Ce cours JUnit 5 apprend à écrire des tests unitaires Java : premier test, assertions (assertEquals, assertNull, assertFalse, assertThrows, assertAll), annotations de cycle de vie @BeforeEach, @AfterEach, @BeforeAll, @AfterAll, tests paramétrés avec @ValueSource et @CsvSource, avec des challenges corrigés pas à pas.

➲ Section 1 :

⁂ JUNIT - 1 Débuter avec les tests unitaires en Java

➔ Découvrez ce qu'est un test unitaire en Java, à quoi il sert et pourquoi la bibliothèque JUnit est très utilisée pour écrire et lancer ces tests.

⁂ JUNIT - 1.3 Tester les exceptions avec assertThrows

➔ Apprenez à vérifier qu'une méthode Java lève bien une exception avec assertThrows de JUnit, en passant le code à tester sous forme d'expression lambda.

⁂ JUNIT - 1.4 Importer un projet JUnit

➔ Importez un projet Java de tests unitaires dans votre IDE, réglez la version de Java 17 et importez les dépendances JUnit avant d'écrire vos tests.

➲ Section 2 :

⁂ JUNIT - 2.1 Créer votre premier test JUnit

➔ Écrivez votre premier test JUnit en trois étapes : préparer les données, appeler la méthode puis vérifier le résultat avec une assertion.

⁂ JUNIT - 2.2 Premier test JUnit : vérifier une addition

➔ Écrivez votre premier test JUnit en Java : une méthode annotée avec @Test qui vérifie le résultat d'une addition, et comprenez pourquoi un test peut échouer.

➲ Section 4 :

⁂ JUNIT - 4 BeforeEach et AfterEach : préparer et nettoyer les tests

➔ Découvrez les annotations @BeforeEach et @AfterEach de JUnit pour ouvrir une connexion avant chaque test, puis la fermer et nettoyer les objets après.

⁂ JUNIT - 4.1 Maîtriser @BeforeEach et @AfterEach

➔ Découvrez les annotations @BeforeEach et @AfterEach de JUnit pour préparer et nettoyer les ressources avant et après chaque test unitaire.

⁂ JUNIT - 4.2 Écrire un premier test JUnit pas à pas

➔ Écrivez un test JUnit complet pas à pas : renommer la méthode, préparer les variables, appeler la méthode et vérifier la valeur attendue.

➲ Section 5 :

⁂ JUNIT - 5.1 assertNull : vérifier qu'une valeur est nulle

➔ Apprenez à utiliser assertNull avec JUnit pour vérifier qu'une méthode renvoie une valeur nulle, par exemple le pire score IMC d'une liste vide.

⁂ JUNIT - 5.2 Regrouper plusieurs assertions avec assertAll

➔ Apprenez à regrouper plusieurs assertions avec assertAll en JUnit pour voir tous les échecs d'un test d'un seul coup, et pas seulement le premier.

⁂ JUNIT - 5.4 Tester le cas négatif avec assertFalse

➔ Apprenez à écrire un test qui vérifie le cas contraire, quand une méthode doit renvoyer faux, en copiant un test existant et en utilisant assertFalse.

➲ Section 6 :

⁂ JUNIT - 6.2 Correction du challenge sur la calculatrice

➔ Reprenez la correction du challenge sur la calculatrice Java : tests de l'addition, de la soustraction et de la division, puis recherche de l'erreur volontaire.

⁂ JUNIT - 6.3 Tester avec des données CSV grâce à @CsvFileSource

➔ Apprenez à écrire un test paramétré en Java à partir d'un fichier CSV avec @CsvFileSource, pour tester une méthode avec plusieurs jeux de données.

⁂ JUNIT - 6.4 @ValueSource : tester une méthode avec plusieurs valeurs

➔ Premiers pas avec @ValueSource en JUnit : exécutez un même test sur plusieurs valeurs, sans écrire une méthode par valeur, grâce à un test paramétré en Java.

⁂ JUNIT - 6.5 Challenge : tester une calculatrice en Java

➔ Relevez le challenge de la calculatrice : écrivez des tests JUnit pour l'addition, la soustraction, la multiplication et la division, avec des cas variés.

➲ Section 7 :

⁂ JUNIT - 7.1 @BeforeAll, @AfterAll, @BeforeEach et @AfterEach

➔ Comprenez la différence entre @BeforeAll, @AfterAll, @BeforeEach et @AfterEach en JUnit pour préparer et nettoyer vos tests sans effets de bord.

👍 Bon à savoir

Un test unitaire vérifie une méthode isolément et doit être rapide et reproductible. JUnit 5 (Jupiter) est intégré à Maven, Gradle et à tous les IDE Java ; Spring Boot l'inclut par défaut.

Toutes les leçons du cours JUnit

Questions fréquentes

JUnit 4 ou JUnit 5 ?
Le cours utilise JUnit 5 (Jupiter), la version actuelle. Les annotations changent de nom par rapport à JUnit 4 (@Before devient @BeforeEach).

Quelle différence entre @BeforeEach et @BeforeAll ?
@BeforeEach s'exécute avant chaque test ; @BeforeAll une seule fois avant tous les tests de la classe (méthode statique).

À quoi servent les tests paramétrés ?
À exécuter le même test avec plusieurs jeux de valeurs (@ValueSource, @CsvSource) sans dupliquer le code.