Ecrire une TestSuite avec Eclipse et JUnit 4

December 7, 2006

La dernière fois que j'ai utilisé JUnit pour faire des tests unitaires, l'intégration avec Eclipse était plutôt bien faite et surtout, le monde n'était pas encore passé à Java 5. Je me suis remis dernièrement aux tests unitaires et j'ai découvert la puissance de Junit 4 et des annotations.

Evidemment tout cela ne va pas sans heurt. Il y a 2 ans j'aurais écrit une TestSuite comme celles générées par l'actuel plugin JUnit d'Eclipse, par exemple:

import junit.framework.Test;
import junit.framework.TestSuite;

public class AllTests {

public static Test suite() {
TestSuite suite = new TestSuite(
"Test for default package");

suite.addTestSuite(Test1.class);
suite.addTestSuite(Test2.class);
suite.addTestSuite(Test3.class);

return suite;
}
}


Le problème, c'est que cette TestSuite ne tourne plus sous JUnit 4 ! En effet, l'architecture de JUnit a été complètement repensée et nettoyée.

Là où intervient toute la puissance des annotations, c'est que maintenant ma TestSuite ressemble à ça:


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

@RunWith(Suite.class)
@SuiteClasses(value={
Test1.class,
Test2.class,
Test3.class,
})
public class AllTests{
}


Code propre, clair, rapide à écrire - et même simple à générer ! Merci les gens :)

Comments

RSS feed for comments on this post.

The URI to TrackBack this entry is: http://www.asteromith.net/~mith/gloub.new/bblog/trackback.php/82/

Leave a Comment

Sorry, Comments have been disabled for this post