Exécution d'une classe de test unique ou d'un groupe avec Surefire et TestNG
Je veux courir seule classe de test en ligne de commande à l'aide de Maven et TestNG
Des choses qui ne fonctionne pas:
mvn -Dtest=ClassName test
J'ai des groupes définis dans pom.xml et cette classe n'est pas dans l'un de ces groupes. Donc c'est exclu pour ces motifs.
mvn -Dgroups=skipped-group test
mvn -Dsurefire.groups=skipped-group test
lors de la config est
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<groups>functest</groups>
</configuration>
</plugin>
Paramètres fonctionnent bien dans il n'y a pas de groupes définis dans pom.xml.
De même, lorsque surefire est configuré avec
<configuration>
<includes>
<include>**/*UnitTest.java</include>
</includes>
</configuration>
Je peux ajouter un autre test avec -Dtest
paramètre, mais ne peut pas ajouter un groupe. Dans n'importe quelle combinaison, je peux affiner les tests à exécuter avec des groupes, mais pas de les élargir.
Quel est le problème avec ma configuration? Est-il possible d'exécuter un test de groupe ou en dehors de celles définies dans pom.xml?
Essayé sur Ubuntu 10.04 avec Maven 2.2.1, TestNG 5.14.6 et Infaillible 2.7.1
source d'informationauteur Slartibartfast
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas fait de test avec TestNG 5.12.1 mais je peux dire que l'exécution d'un test unique à l'aide de la
test
paramètre et de tests à partir de groupes à l'aide de lagroups
paramètre fonctionne avec TestNG 5.14.2 (et infaillible 2.6) (groups
ne fonctionne pas dans TestNG 5.14)Ici est la
pom.xml
je suis en utilisant:Avec un simple
AppTest
comme suit:Les deux
et
produire le résultat attendu.
Comme je l'ai expliqué dans la question, toute mention de groupes, soit dans pom.xml ou sur la ligne de commande ont entraîné une réduction de tests effectués à compter. Seule façon que j'ai réussi à éviter cela est d'utiliser les fervents des profils comme ceci:
puis de l'exécution des tests avec
Je suggère d'essayer quelque chose comme
bien que je ne l'ai pas testé moi-même.
Pour exécuter un seul test vous avez besoin de à partir de la documentation officielle
mvn -Dtest=MyFirstTest test
ou
mvn -Dtest=MyFirstTest,MySecondTest test
C'est testé (et de travail) sur maven 3.
Alors vous pouvez éviter d'utiliser les profils. J'ai eu le même problème que je nécessaire à l'exécution de test de charge dans l'isolement et à l'aide du générateur de profils en parallèle pour obtenir les vrais chiffres.
Remarque: vous ne savez Pas pourquoi, mais assurez-vous que les commutateurs avant la phase c'est à dire "-Dtest=MyFirstTest" avant "test" dans le cas contraire, il n'est pas de travail (Mac OSX)