IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Développons en Java avec Eclipse

13/07/2003




10. JUnit et Eclipse
10.1. Paramétrage de l'environement
10.2. Ecriture des cas de tests
10.3. Exécution des cas de tests


10. JUnit et Eclipse


La version 2.1 d'Eclipse intègre la possibilité d'utiliser JUnit directement dans l'IDE.

JUnit est un framework open source pour réaliser des tests unitaires sur du code Java. Le principal intérêt est de s'assurer que le code répond toujours au besoin même après d'éventuelles modifications.

Le but est d'automatiser les tests. Ceux ci sont exprimés dans des classes sous la forme de cas de tests avec leurs résultats attendus. JUnit exécute ces tests et les comparent avec ces résultats.

Avec Junit, l'unité de test est une classe dédiée qui regroupe des cas de tests. Ces cas de tests exécutent les tâches suivantes :

  • création d'une instance de la classe et de tout autre objet necessaire aux tests
  • appel de la méthode à tester avec les paramètres du cas de test
  • comparaison du résultat obtenu avec le résultat attendu : en cas d'échec, une exception est levée


10.1. Paramétrage de l'environement


Pour pouvoir utiliser JUnit dans un projet, il faut ajouter le fichier junit.jar dans le classpath du projet. Il faut pour cela :

  • sélectionner les propriétés du projet
  • dans l'onglet librairies, cliquer sur « Add External Jar »
  • sélectionner le fichier junit.jar dans le répertoire plugins/org.junit.3.8.1 du répertoire d'Eclipse

Eclipse ajoute le fichier junit.jar au classpath

La classe suivante est utilisée comme classe à tester avec JUnit.

package com.moi.test.junit; public class MaClasse { public int additioner(int a, int b) { return a + b; } }

10.2. Ecriture des cas de tests


Pour utiliser JUnit, il faut créer une classe qui va contenir les cas de test.

Il faut créer une nouvelle entité de type java/JUnit/TestCase

Si le fichier junit.jar n'est pas inclus dans le classpath du projet, un message d'erreur est affiché et il est impossible de poursuivre l'exécution de l'assistant.

Il faut compléter la classe générée selon les besoins : par exemple, ajouter un attribut qui va contenir une instance de la classe à tester, ajouter l'instanciation de cette classe dans la méthode setUp() et libérer cette instance dans la méthode tearDown().

Il faut ajouter les traitements nécessaires dans les méthodes testXXX() en utilisant l'API de JUnit.

package com.moi.test.junit; import junit.framework.TestCase; public class MaClasseTest extends TestCase { private MaClasse maClasse = null; public MaClasseTest(String arg0) { super(arg0); } public static void main(String[] args) { junit.swingui.TestRunner.run(MaClasseTest.class); } protected void setUp() throws Exception { super.setUp(); maClasse = new MaClasse(); } protected void tearDown() throws Exception { super.tearDown(); maClasse = null; } public void testAdditioner() { assertTrue(maClasse.additioner(2,2) == 4); } }
JUnit utilise l'instrospection pour exécuter les méthodes commençant par test.


10.3. Exécution des cas de tests


Pour exécuter les tests, il faut exécuter la classe en tant que « JUnit Test ».

Eclipse exécute les tests et affiche le résultat dans une vue dédiée.

Si tous les cas de tests ont été exécutés avec succès, une ligne verte est affichée.

Cette vue contient deux onglets :

  • « Failures » : contient la liste des cas de tests qui ont échoués
  • « Hierarchy » : contient une arborescence des cas de tests

Dans le cas où un ou plusieurs tests échouent, la ligne est rouge.

public void testAdditioner() { assertTrue(maClasse.additioner(2,2) == 4); assertTrue(maClasse.additioner(2,3) == 4); }
Un exécution permet d'avoir le résultat suivant :



Copyright (C) 1999-2003 Jean Michel DOUDOUX