Développement des systèmes informatiques


Comment tester avec JUnit


Voir aussi

Définition de la classe de tests

import org.junit.*;
import static org.junit.Assert.*;

public class JUnitGestionParametres {

Méthodes fournies par JUnit (org.junit.Assert) :

Exécution de tests

Exécution de tests JUnit en Eclipse

Les tests sont exécutés en sélectionnant Run comme tests JUnit dans le menu Run pour une ressource correspondant à des tests :

Exécution de tests JUnit - version 3.8.1

À la ligne de commande :

java -classpath /jupiter/home/iglewski/junit3.8.1/junit.jar:/jupiter/home/iglewski/ens/inf1583/CVS/lib/exam.jar \
junit.textui.TestRunner tests.JUnitDifferenceDeuxMots

Avec un interface graphique Swing :

java -classpath /jupiter/home/iglewski/junit3.8.1/junit.jar:/jupiter/home/iglewski/ens/inf1583/CVS/lib/exam.jar \
junit.swingui.TestRunner tests.JUnitDifferenceDeuxMots

swingui

Initialisation des tests

Suite de tests

Pour créer une suite de tests, on peut utiliser le schéma ci-dessous. La classe annotée avec @RunWith exécutera les tests qui se trouvent dans les classes indiquées par @SuiteClasses.

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
  JUnitGestionParametres.class,
  JUnitQuestionReponseU.class
})
public class TousLesTests {
}

Le fichier TousLesTests.java contient une suite de tests.

Autres fonctionnalités

Un mauvais test

Parmi les deux tests ci-dessous, le premier est plus significatif.

assertTrue("opérateur de puissance produit un mauvais résultat", puissance(2,3) == 8);
assertTrue("opérateur de puissance produit un mauvais résultat", puissance(2,2) == 4);

Il y a plus de chances dans le deuxième cas que le test réussise par "hasard".