web-dev-qa-db-de.com

Tests von Maven-Build ausschließen

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?

22

Versuche es mit:

mvn clean install -DskipTests

Quelle hier .

33
jelies

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.

10
maba

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

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.

4
Chris Cashwell

benutze das

mvn clean install -DskipTests 

3
Eugene

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