Lancer des tests JUnit depuis une classe de test
Bonjour à tous;)
Avec JUnit 4, je cherche à lancer des tests à partir d'une classe TestLauncher qui va lancer tous les tests. Facile vous allez me dire, il suffit de faire :
Code:
1 2 3 4 5 6 7 8 9
|
@RunWith(Suite.class)
@SuiteClasses(value={
Montest1.class,
Montest2.class
})
public class TestLauncher extends TestCase {
...
} |
Et à partir de là le lancement de TestLauncher lancera tous les tests. Seulement voilà, le problème c'est que je ne connais pas à l'avance les classes de test qui seront lancées, celles-ci sont contenues dans une liste qui a été initialisée dans un fichier Spring. Or dans l'exemple, les noms de mes classes de test sont inscrites en dur dans la classe.
Une autre solution plus adéquate s'offrait à moi : créer manuellement ma suite de test et la lancer, donc de cette manière :
Code:
1 2 3 4 5 6 7 8
|
TestSuite suite=new TestSuite();
for (Iterator it=monPackage.getListeTests().iterator();it.hasNext();) {
TestCase test=(TestCase)it.next();
suite.addTest(test);
}
TestResult result=new TestResult();
suite.run(result); |
(explication : je parcoure ma liste de tests et j'ajoute un a un ces tests à ma suite puis je lance ma suite)
Problème : la méthode run lance correctement le setUp de ma classe de test mais ne lance pas les tests !
Ca fait 2 jours que je bloque là dessus et franchement je comprends pas du tout pourquoi ça fonctionne pas !
Quelqu'un a-t-il déjà eu ce problème ou bien aurait une idée à me proposer ?
D'avance, merci :D