Lorsque je clique avec le bouton droit sur un projet dans NetBeans et que vous choisissez Test, certains tests unitaires ne sont pas exécutés. Si je fais un clic droit sur le fichier .java qui contient les tests unitaires et que je choisis Test File, les tests unitaires sont exécutés. J'ai aussi ce projet dans Hudson CI et ces mêmes tests unitaires ne sont pas exécutés.Pourquoi certains tests JUnit ne sont-ils pas exécutés dans NetBeans et/ou Hudson?
Répondre
Seuls les tests dans les classes nommées après une classe dans le projet avec le suffixe Test seront exécutés. Par exemple, les tests dans la classe de test unitaire FooTests ne seront jamais exécutés (le suffixe n'est pas exactement Test). Les tests de la classe de test unitaire FooTest ne seront exécutés que si le projet a une classe nommée Foo.
Il serait bon de savoir pourquoi il doit être de cette façon ...
Modifier: Je suis que partiellement correcte dans mon diagnostic initial. J'ai trouvé this forum post qui explique qu'il s'agit d'un problème NetBeans/JUnit. La cible Ant NetBeans qui exécute les tests recherche uniquement les tests dans tous les fichiers correspondant au masque: * Test.java. Vous pouvez le voir dans la cible -do-test-run dans build-impl.xml dans le dossier nbproject. Il vous suffit donc de vous assurer que toutes les classes de tests unitaires se terminent par le suffixe Test et que tout devrait bien se passer.
Semble à moi son parce que vos tests devraient être spécifiques à chaque classe. L'approche JUnit pour tester est que chaque classe d'application a une classe correspondante pour la tester. Quel est le comportement que vous voyez? – MadMurf
Après d'autres recherches, peu importe que chaque classe ait une classe de test correspondante. Voir ma modification dans la réponse pour une explication. –