J'ai plusieurs suites de tests Junit (SlowTestSuite, FastTestSuite, etc.). Je voudrais exécuter uniquement une suite spécifique en utilisant la commande maven. par exemple.
mvn clean install test -Dtest=FastTestSuite -DfailIfNoTests=false
mais ça ne marche pas. Tout simplement ne pas exécuter de test du tout. Toutes suggestions s'il vous plaît.
J'ai atteint cet objectif en ajoutant des propriétés à pom comme:
<properties>
<runSuite>**/FastTestSuite.class</runSuite>
</properties>
et le plugin maven-surefire devrait être:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>${runSuite}</include>
</includes>
</configuration>
</plugin>
cela signifie que par défaut, il exécutera FastTestSuite mais vous pouvez exécuter d'autres tests, par exemple SlowTestSuite utilisant la commande maven comme:
mvn install -DrunSuite=**/SlowTestSuite.class -DfailIfNoTests=false
Le mot-clé que vous avez manqué est maven-surefire-plugin: http://maven.Apache.org/plugins/maven-surefire-plugin/ .
L'utilisation est:
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.1</version>
<configuration>
<includes>
<include>**/com.your.packaged.Sample.Java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
Si vous effectuez une petite recherche sur le débordement de pile, vous pouvez trouver des informations:
Exécution d'une suite de tests JUnit4 dans Maven à l'aide du plug-in maven-fail-safetilisation des catégories JUnit avec le plug-in Maven Failsafe
De plus, vous pouvez définir un profil, comme fastTest, qui sera déclenché en ajoutant un paramètre à la ligne cmd:
mvn package -PfastTests
Ce profil comprendrait également quelques inclusions.