J'ai une classe de base pour de nombreux tests qui a quelques méthodes d'assistance dont ils ont tous besoin.
Il n'a pas de test en lui-même, mais JUnit (dans Eclipse) appelle le lanceur de test dessus et se plaint qu'il n'y a pas de méthode à tester.
Comment puis-je lui faire ignorer cette classe?
Je sais que je pourrais ajouter une méthode dummyTest
qui résoudrait le problème, mais elle apparaîtrait également pour toutes les classes enfants.
Suggestions?
Avoir l'habitude de @Ignore
annotation. Il fonctionne également sur les cours. Voir celui-ci:
@Ignore public class IgnoreMe {
@Test public void test1() { ... }
@Test public void test2() { ... }
}
De plus, vous pouvez annoter une classe contenant des méthodes de test avec @Ignore et aucun des tests contenant ne sera exécuté.
Source: JUnit JavaDoc
Juste comme une note, je recommanderais toujours de donner une raison pour l'ignorer:
@Ignore("This test will prove bug #123 is fixed, once someone fixes it")
J'espère que le formateur de rapports junit xml, utilisé lors de l'exécution de tests à partir de ant, inclura un jour le nombre ignoré (et les raisons) avec succès, échec et erreur.
Faire de la classe abstract
devrait être suffisant pour JUnit 4. Si cela ne fonctionne pas, vérifiez la version de JUnit que vous utilisez.
Cela indique également votre intention que ce ne soit qu'un fragment d'un test.
Cela empêche également JUnit de compter les tests de la classe comme "ignorés" (donc le nombre final de tests ignorés sera ce que vous attendez).
Vous pouvez également renommer la classe. La plupart des coureurs utilisent le nom de classe pour déterminer quelles classes sont des tests et lesquelles sont des aides. Dans Maven avec les paramètres par défaut, vous devez simplement vous assurer que la classe de base ne commence ni ne se termine par Test
et ne se termine pas par TestCase
( http: // maven.Apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html )
Il y a 2 options:
Vous devez créer la classe de test de base abstrait, cela suffit pour Junit4. Si vous utilisez l'attribut @Igonre, il l'affichera comme un test ignoré (et l'ajoutera au nombre total de tests).
Vous pouvez modifier le nom de la classe de test qui il n'aura pas le mot Test (sensible à la casse) au début ou à la fin du nom du test/ou le Word TestCase à la fin.
BTW: @Igonre est pour un cas d'utilisation différent, lorsque vous souhaitez ignorer un test spécifique.