JUnit4

Un article de Agora2ia.


Sommaire

Présentation

JUnit4 est là nouvelle version majeure du célèbre framework de TestUnitaire en Java : JUnit.

La principale évolution est l'apparition des Annotations, ce qui permet notamment de :

  • faire disparaitre l'héritage au la classe TestCase
  • facilite le test des exception
  • ...


Pragmatic JUnit 4

Ressources

Migration depuis JUnit 3.8

J'ai eu quelques soucis, dans Eclipse, à jouer mes tests unitaires JUnit 4. Notamment, l'IDE ne tenait pas compte des annotations...

La chose importante est de supprimer la dépendance à JUnit 3.8. Pour cela il faut supprimer l'héritage à TestCase et l'import associé : junit.framework.TestCase

Tester des exception

Avant JUnit4, pour tester le lancement d'une exception il fallait écrire du code verbeux.

Par exemple, pour tester que la méthode Train#goto(Station) lance une NullPointerException lorsque la destination passée en paramètre est nulle, il fallait écrire (on suppose que la fixture train est créée dans le setUp) :

public void test_goto() {
   try {
       train.goto(null);
       fail("NullPointerException expected !");
   }
   catch (NullPointerException e) {}
}

Avec JUnit4 il suffit d'écrire :

@Test(expected = NullPointerException.class) 
public void test_goto() {
   train.goto(null);
}

Ressources

...