Comment exécuter une suite de tests Junit 4.8.1 à partir de la ligne de commande? Aussi je veux utiliser les catégories introduit avec JUnit 4.8, est-il un moyen où je peux spécifier à partir de la ligne de commande la catégorie que je veux exécuter.Exécution de la suite de tests JUnit à partir de la ligne de commande
Répondre
Il n'y a aucun moyen (à partir de 4.8) de spécifier des catégories à partir de la ligne de commande.
Je peux suggérer deux approches: 1. Créez un fichier Ant avec la cible junit, puis appelez cette cible depuis la ligne de commande. 2. Implémenter une classe de suites de tests dans une classe avec la méthode main(). Donc, vous serez en mesure de l'exécuter.
En utilisant java
exécuter JUnitCore classe (voir également here).
Les catégories sont supposées être utilisées avec des suites de test avec @RunWith(Categories.class)
, @IncludeCategory
et @ExcludeCategory
. Je ne suis pas au courant d'un moyen dynamique d'utiliser des catégories pour exécuter des tests, mais je voudrais savoir de telle sorte qu'il existe. Vous pouvez avoir des suites de tests prédéfinies pour certaines catégories pour les exécuter.
Dans 4.10, nous le faisons:
mvn verify -p(your profiles) -Dit.test=(SuiteClass)
où SuiteClass
est une classe vide (pas de méthodes ou des champs) qui est annotées avec @RunWith(Categories.class)
et @Suite.SuiteClasses({FooIT.class, BarIT.class, ...})
. FooIT
et BarIT
sont les tests d'intégration.
Il est possible de créer un programme de test personnalisé qui sélectionne de façon dynamique les tests à exécuter en fonction des catégories. – topchef
Voici une façon d'exécuter facilement tous les tests dans une suite/catégorie (sans énumérer explicitement les tests): http://stackoverflow.com/questions/2176570/how-to-run-all-tests-belonging-to-a- certain-category-in-junit-4/2176791 # 2176791 (Faites-moi savoir si ce n'est pas ce que vous vouliez dire.) – Jonik
Oui, je suis conscient de cela (http://stackoverflow.com/questions/3324623/how-can -i-run-all-junit-tests-dans-un-paquet-netbeans/3332970 # 3332970). Je pense que l'auteur veut dire exécuter des tests basés sur la catégorie en tant que paramètre. – topchef