web-dev-qa-db-fra.com

Exclure les tests de la construction Maven

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?

22
Paulius Matulionis

Essayez avec:

mvn clean install -DskipTests

Source ici .

33
jelies

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.

10
maba

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>
4
Buhb

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.

4
Chris Cashwell

utilisez ceci

mvn clean install -DskipTests 

3
Eugene

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
0
wulfgarpro