Cas de test JUnit en Java : Tutoriel simple JUnit 5.7.1 Hello World avec tous les détails en un

Publié: 2019-10-30
java-junit-exemple

Qu'est-ce que JUnit ?

JUnit est un framework open source simple et puissant pour écrire et exécuter des tests reproductibles. J'adore les cas de test JUnit. Au cours de mon développement de projet Java, j'ai largement utilisé JUnit pour la couverture du code. Il s'agit d'une instance de l'architecture xUnit pour les frameworks de tests unitaires.

Les fonctionnalités de JUnit incluent :

  1. Assertions pour tester les résultats attendus
  2. Dispositifs de test pour partager des données de test communes
  3. Coureurs de test pour l'exécution des tests

Dans ce tutoriel, je couvrirai les points 1 et 3. Vous avez besoin des dépendances Maven ci-dessous dans votre projet.

Commençons à écrire du code.

Étape 1

Créez le projet CrunchifyJunitTest et spécifiez le package com.crunchify.junit . Voici une structure de package pour une référence rapide.

Crunchify Structure Eclipse du projet JUnit

Étape 2

Clic droit sur CrunchifyJunitTest => Nouvelle classe => CrunchifyJunitTest.java

Étape 3

Eclipse suggérera et ajoutera automatiquement la dépendance org.junit.Test une fois que vous aurez tapé @Test .

Eclipse Test Maven Dépendance

Étape 4

Pour tester votre test JUnit

  • clic droit sur la classe
  • Cliquez sur Exécuter en tant que
  • Cliquez sur JUnit Test

Vous devriez voir quelque chose comme ça.

Test JUnit réussi

Étape-5

Essayez de changer le paramètre de valeur attendue de la méthode de 30 => 300 et de Hello World => Hello -- World et testez à nouveau.

Échec du test JUnit - Crunchify Tips

Étape-6

Exécutons maintenant le même cas de test via other java . Créer CrunchifyRunnerJUnit.java

Étape-7

Exécutez CrunchifyRunnerJUnit.java en tant qu'application Java Application .

Étape-8

Dans le cas du 1st code (paramètre attendu correct), vous devriez voir une sortie comme celle-ci :

Étape-9

En cas de 2nd code (paramètre attendu incorrect), vous devriez voir quelque chose comme ceci :

Et vous êtes prêt. Faites-moi savoir si vous voyez des problèmes pour exécuter ce code.

Tutoriel JUnit par Crunchify

Annotation disponible dans le cas de test JUnit :

Annotation

La description

@Testez la méthode void publique() L'annotation @Test identifie qu'une méthode est une méthode de test.
@Avant la méthode void publique() Exécutera la méthode avant chaque test. Cette méthode peut préparer l'environnement de test (par exemple lire les données d'entrée, initialiser la classe).
@Après la méthode void publique() Exécutera la méthode après chaque test. Cette méthode peut nettoyer l'environnement de test (par exemple, supprimer des données temporaires, restaurer les valeurs par défaut).
@BeforeClass méthode vide publique () Exécutera la méthode une fois, avant le début de tous les tests. Cela peut être utilisé pour effectuer des activités chronophages, par exemple pour se connecter à une base de données.
@AfterClass méthode vide publique () Exécutera la méthode une fois, une fois tous les tests terminés. Cela peut être utilisé pour effectuer des activités de nettoyage, par exemple pour se déconnecter d'une base de données.
@Ignorer Ignorera la méthode de test. Ceci est utile lorsque le code sous-jacent a été modifié et que le cas de test n'a pas encore été adapté. Ou si le temps d'exécution de ce test est trop long pour être inclus.
@Test (attendu = Exception.class) Échoue si la méthode ne lève pas l'exception nommée.
@Test(timeout=100) Échoue si la méthode prend plus de 100 millisecondes.

Méthodes de test d'assertion disponibles :

Déclaration

La description

échec (chaîne) Laissez la méthode échouer. Peut être utilisé pour vérifier qu'une certaine partie du code n'est pas atteinte. Ou d'avoir un test défaillant avant que le code de test ne soit implémenté.
assertTrue(vrai) / assertTrue(faux) Sera toujours vrai/faux. Peut être utilisé pour prédéfinir un résultat de test, si le test n'est pas encore implémenté.
assertTrue([message], condition booléenne) Vérifie que la condition booléenne est vraie.
assertsEquals([String message], attendu, réel) Teste que deux valeurs sont identiques. Remarque : pour les tableaux, la référence est vérifiée et non le contenu des tableaux.
assertsEquals([String message], attendu, réel, tolérance) Testez que les valeurs flottantes ou doubles correspondent. La tolérance est le nombre de décimales qui doivent être identiques.
assertNull([message], objet) Vérifie que l'objet est nul.
assertNotNull([message], objet) Vérifie que l'objet n'est pas nul.
assertSame([String], attendu, réel) Vérifie que les deux variables font référence au même objet.
assertNotSame([String], attendu, réel) Vérifie que les deux variables font référence à des objets différents.