Pour sélectionner l'unité des tests sur et en dehors pour l'ensemble d'un projet de l'utilisation de Maven Plugin Surefire la capacité de sauter des tests. Il existe un inconvénient à l'utilisation de skipTests à partir de la ligne de commande. Dans un multi-module de construire le scénario, ce serait de désactiver tous les tests pour tous les modules.
Si vous avez besoin de plus beaux grains de contrôle de l'exécution d'un sous-ensemble de tests pour un module, regarde dans l'aide de l' Maven Plugin Surefire du test d'inclusion et d'exclusion des capacités.
Pour permettre de ligne de commande remplace, faire usage de POM propriétés lors de la configuration du Plugin Surefire. Prenons par exemple la suite de POM segment:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<configuration>
<excludes>
<exclude>${someModule.test.excludes}</exclude>
</excludes>
<includes>
<include>${someModule.test.includes}</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<someModule.skip.tests>false</someModule.skip.tests>
<skipTests>${module.skip.tests}</skipTests>
<someModule.test.includes>**/*Test.java</someModule.test.includes>
<someModule.test.excludes>**/*Test.java.bogus</someModule.test.excludes>
</properties>
Avec une POM comme ci-dessus, vous pouvez exécuter des tests dans une variété de façons.
-
Exécuter tous les tests (la configuration ci-dessus comprend tous les **/*Test.java test des fichiers source)
mvn test
-
Passer tous les tests pour tous les modules
mvn -DskipTests=true test
-
Passer tous les tests pour un module particulier
mvn -DsomeModule.skip.tests=vrai test
-
Seulement exécuter certains tests pour un module particulier (cet exemple inclues toutes les **/*IncludeTest.java test des fichiers source)
mvn -DsomeModule.test.inclut="**/*IncludeTest.java
-
Exclure certains tests pour un module particulier (cet exemple exclues toutes les **/*ExcludeTest.java les fichiers source)
mvn -DsomeModule.test.exclut="**/*ExcludeTest.java