Je suis passé de JUnit3.8 à JUnit4.4. J'exécute mes tests à l'aide de Ant, tous mes tests s'exécutent avec succès mais les classes utilitaires de test échouent avec l'erreur "No runnable methods". Le modèle que j'utilise est d'inclure toutes les classes avec le nom *Test* dans le dossier de test.
Je comprends que le runner ne peut pas trouver de méthode annotée avec l'attribut @Test. Mais elles ne contiennent pas cette annotation car ces classes ne sont pas des tests. Étonnamment, lorsque l'on exécute ces tests dans Eclipse, il n'y a pas de plainte concernant ces classes.
Dans JUnit3.8, ce n'était pas du tout un problème puisque ces classes utilitaires n'étendaient pas TestCase et que le runner n'essayait pas de les exécuter.
Je sais que je peux exclure ces classes spécifiques dans la cible junit dans ant script. Mais je ne veux pas modifier le fichier de construction à chaque nouvelle classe utilitaire que j'ajoute. Je peux aussi renommer les classes (mais donner de bons noms aux classes a toujours été mon plus faible talent :-) )
Existe-t-il une solution élégante pour ce problème ?
0 votes
Vos tests fonctionnent-ils dans Eclipse/NetBeans/ votre IDE préféré ?
0 votes
J'utilise eclipse. En fait, il n'y a pas de problème, mais Eclipse n'essaie pas d'exécuter ces classes. Je me demande comment ?
0 votes
Je ne sais pas si nous avons compris votre question. Veuillez relire votre question et probablement ajouter quelques informations supplémentaires.
1 votes
@guerda : La question me semble assez claire. Sa tâche Ant consiste à trouver des classes qui ne contiennent pas de tests, car le filtre récupère la classe utilitaire. D'où ma réponse, qui me semble toujours tout à fait pertinente.
0 votes
LiorH : Merci pour la clarification, donc ma réponse est un déchet :)