Lorsque je lance maven clean install
, il exécute toujours tous les tests dans src/test/Java
. Il existe un moyen de sauter tous les tests, juste pour exécuter une construction simple sans aucun test.
Je veux que mes tests soient dans src/test/Java
mais je veux dire à maven de ne pas les exécuter. Je cherchais quelque chose comme ça sur Internet mais je n’ai pas réussi à trouver la réponse.
Y a-t-il un moyen de faire cela?
Vous pouvez également choisir d'utiliser
mvn install -Dmaven.test.skip
De Maven site web:
Si vous devez absolument, vous pouvez également utiliser la propriété maven.test.skip pour ignorer la compilation des tests. maven.test.skip est honoré par Surefire, Failsafe et le plug-in Compiler.
Comme il est dit, vous ne compilerez même pas les sources de test.
De http://maven.Apache.org/plugins/maven-surefire-plugin/examples/skipping-test.html :
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
Ma méthode préférée pour gérer l'exécution de mes tests consiste à créer une variable Maven appelée skip-tests
et à la définir par défaut à true
. Ensuite, vous pouvez utiliser cette variable comme suit:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.2</version>
<configuration>
<skipTests>${skip-tests}</skipTests>
</configuration>
</plugin>
De cette façon, vous pouvez simplement passer la variable au moment de la construction, -Dskip-tests=false
, lorsque vous ne voulez pas qu’elle soit exécutée. Ceci est particulièrement utile lorsque vous avez des tests unitaires d'intégration et et que vous souhaitez exécuter ou désactiver les deux ensembles de tests avec une seule variable.
utilisez ceci
mvn clean install -DskipTests
Nous utilisons Surefire pour les tests unitaires et Failsafe pour les tests d'intégration.
Pour ignorer tous les tests:
mvn clean package -DskipTests
Pour ignorer uniquement les tests Failsafe:
mvn clean package -DskipIT
Pour ignorer simplement Surefire, vous devez appeler explicitement l'objectif d'intégration-test du plug-in Failsafe, après avoir compilé les classes de test bien sûr:
mvn clean test-compile failsafe:integration-test