Wenn ich maven clean install
ausführt, werden immer alle Tests in src/test/Java
ausgeführt. Es gibt eine Möglichkeit, alle Tests zu überspringen, um einfache Builds ohne Tests auszuführen.
Ich möchte, dass meine Tests in src/test/Java
sind, aber ich möchte maven anweisen, sie nicht auszuführen. Ich habe im Internet nach so etwas gesucht, konnte aber keine Antwort finden.
Gibt es eine Möglichkeit, dies zu tun?
Sie können auch auswählen
mvn install -Dmaven.test.skip
Von Maven website:
Wenn Sie dies unbedingt tun müssen, können Sie auch die maven.test.skip -Eigenschaft verwenden, um das Kompilieren der Tests zu überspringen. maven.test.skip wird von Surefire, Failsafe und dem Compiler Plugin ausgezeichnet.
Wie Sie sagen, werden Sie die Testquellen nicht einmal kompilieren.
Von 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>
Am liebsten verwalte ich meine Tests, indem ich eine Maven-Variable mit dem Namen skip-tests
erstellt und diese auf true
setzt. Dann können Sie diese Variable wie folgt verwenden:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.2</version>
<configuration>
<skipTests>${skip-tests}</skipTests>
</configuration>
</plugin>
Auf diese Weise können Sie die Variable zum Erstellungszeitpunkt -Dskip-tests=false
übergeben, wenn sie nicht ausgeführt werden soll. Dies ist am nützlichsten, wenn Sie Integrations- und -Einheitstests haben und beide Testsätze mit nur einer Variablen ausführen oder deaktivieren möchten.
benutze das
mvn clean install -DskipTests
Wir verwenden Surefire für Unit-Tests und Failsafe für Integrationstests.
Alle Tests überspringen:
mvn clean package -DskipTests
Um nur fehlersichere Tests zu überspringen:
mvn clean package -DskipIT
Um nur Surefire zu überspringen, müssen Sie nach dem Kompilieren der Testklassen natürlich das Integrations-Testziel des Failsafe-Plugins aufrufen:
mvn clean test-compile failsafe:integration-test