Création et exécution de tests JUnit

Dans la présente section, vous allez utiliser la structure de test JUnit pour créer et exécuter des tests. Pour commencer avec JUnit, vous pouvez consultez le manuel JUnit Cookbook.

Création de tests

Pour pouvoir créer des tests JUnit, vous devez ajouter la bibliothèque junit.jar au chemin d'accès aux classes de compilation. L'installation de la plateforme Eclipse inclut JUnit dans le plug-in org.junit :

  1. Créez un projet "JUnitTest".
  2. Ouvrez la page des propriétés du chemin de compilation du projet.
  3. Sélectionnez l'onglet Bibliothèques.
  4. Ajoutez le fichier junit.jar contenu dans org.junit au répertoire de plug-in en tant que fichier JAR externe à votre projet.
Eventuellement, si vous souhaitez parcourir la source JUnit, associez le fichier junitsrc.zip au fichier junit.jar. Le zip source se trouve dans le plug-in org.eclipse.jdt.source dans src/org.junit_3.8.1.

Une fois que le projet JUnitTest accède aux classes JUnit, vous pouvez créer votre premier test. Celui-ci est implémenté dans une sous-classe de TestCase. Pour ce faire, vous pouvez utiliser l'assistant Classe standard ou l'assistant spécialisé Scénario de test :

  1. Ouvrez l'assistant Nouveau (Fichier > Nouveau > Autre...)
  2. Sélectionnez Java > JUnit dans la sous-fenêtre de gauche et Scénario de test dans la sous-fenêtre de droite et cliquez sur Suivant.
  3. Entrez "TestFailure" comme nom de la classe du test :

    Assistant de création d'un scénario de test page 1

  4. Cliquez sur Fin pour créer la classe de test.

Ajoutez une méthode de test qui ne parvient pas à la classe TestFailure. Une méthode rapide pour entrer dans une méthode de test consiste à utiliser le modèle test. Pour ce faire, tapez "test", puis appuyez sur Ctrl+Espace pour activer l'assistant de code et sélectionner le modèle "test". Modifiez le nom de la méthode créée en testFailure et appelez la méthode fail().

public void testFailure() {
    fail();
}

Vous êtes désormais prêt à exécuter votre premier test.

Exécution de tests

Pour exécuter TestFailure, activez le menu déroulant Exécuter dans la barre d'outils et sélectionnez Exécuter en tant que > Test JUnit. Vous pouvez contrôler les résultats du test dans la vue JUnit. Cette vue montre la progression d'exécution du test et son état :

Test échoué

La vue s'affiche dans la perspective courante chaque fois que vous démarrez une exécution de test. Un arrangement convenable de la vue JUnit consiste à l'ancrer comme une vue rapide. La vue JUnit comporte deux onglets : l'un montre la liste des erreurs et l'autre la suite de tests complète sous forme d'arborescence. Vous pouvez passer d'une erreur à la source correspondante en cliquant deux fois sur la ligne correspondante de la trace des erreurs.

Ancrez la vue JUnit en tant que vue rapide, supprimez l'instruction fail() de la méthode testFailure() de sorte que le test passe et exécutez le test à nouveau. Vous pouvez exécuter un test à nouveau en cliquant sur le bouton Exécuter à nouveau dans la barre d'outils de la vue ou réexécuter le programme lancé en dernier en sélectionnant l'option du menu déroulant Exécuter. Cette fois, le test doit aboutir. Comme le test a réussi, la vue JUnit ne s'ouvre pas, mais un indicateur de réussite apparaît sur l'icône de la vue JUnit et la ligne d'état montre le résultat du test. Comme rappel de réexécution des tests, l'icône de la vue présente un astérisque ("*") chaque fois que vous modifiez le contenu de l'espace de travail après l'exécution.

Test réussi - Exécution de test réussie
Test réussi mais l'espace de travail a changé - Exécution de test réussie, mais le contenu de l'espace de travail a changé depuis la dernière exécution du test.

Outre l'exécution d'un scénario de test comme décrit ci-dessus, vous pouvez également :

Personnalisation d'une configuration de test

Lorsque vous souhaitez transmettre des paramètres ou personnaliser les définitions d'une exécution de test, ouvrez la boîte de dialogue Configuration de lancement. Sélectionnez Exécuter... dans le menu déroulant correspondant de la barre d'outils :

Configuration de lancement JUnit

Dans cette boîte de dialogue, vous pouvez spécifier le test à exécuter, ses arguments, son chemin de classe d'exécution et l'environnement d'exécution Java.

Débogage d'une erreur dans un test

Lorsqu'une erreur se produit dans un test, vous pouvez suivre la procédure décrite ci-dessous pour le déboguer.

  1. Cliquez deux fois sur l'erreur répertoriée dans la trace de pile de la vue JUnit afin d'ouvrir dans l'éditeur le fichier correspondant.
  2. Définissez un point d'arrêt au début de la méthode de test.
  3. Sélectionnez le scénario de test et exécutez Déboguer en tant que>Test JUnit à partir du menu déroulant Déboguer.

Une configuration de lancement JUnit dispose de l'option "maintenir actif". Si votre machine virtuelle Java prend en charge le "remplacement de code à chaud", vous pouvez corriger le code et exécuter le test à nouveau sans relancer la procédure d'exécution du test complète. Pour activer cette option, cochez la case Poursuivre l'exécution de JUnit lors du débogage dans la configuration de lancement JUnit.

Création d'une suite de tests

L'assistant Suite de tests de JUnit vous aide à créer une suite de tests. Vous pouvez sélectionner l'ensemble des classes devant appartenir à une suite.

  1. Ouvrez l'assistant nouveau.
  2. Sélectionnez Java > JUnit dans la sous-fenêtre de gauche et Suite de tests dans la sous-fenêtre de droite et cliquez sur Suivant.
  3. Entrez un nom pour la classe de la suite de tests (par convention, on utilise "AllTests" qui s'affiche par défaut).

    Assistant Suite de tests

  4. Sélectionnez les classes devant être incluses dans la suite. Actuellement, nous ne disposons que d'une seule classe de test, mais vous pouvez en ajouter à la suite ultérieurement.

Il est possible d'ajouter ou de supprimer des classes de test de la suite de tests des deux manières suivantes :

Remarque : L'assistant place deux marqueurs //$JUnit-BEGIN$ et //$JUnit-END$ dans la classe de la suite de tests créée pour permettre à l'assistant de mettre à jour les classes de suite de tests existantes. L'édition du code placé entre les marqueurs est déconseillée.

Copyright (c) 2000, 2003 IBM Corporation and others. All Rights Reserved.