私がmaven clean install
を実行しているときには、すべてのテストを常に実行します。src/test/java
は、テストなしで単純なビルドを実行するためのものです。Mavenビルドからテストを除外する
私のテストはsrc/test/java
になりますが、私はそれらを実行しないようにmavenに伝えたいと思います。私はインターネット上でそのようなものを探していましたが、答えを見つけることはできませんでした。
これを行う方法はありますか?
私がmaven clean install
を実行しているときには、すべてのテストを常に実行します。src/test/java
は、テストなしで単純なビルドを実行するためのものです。Mavenビルドからテストを除外する
私のテストはsrc/test/java
になりますが、私はそれらを実行しないようにmavenに伝えたいと思います。私はインターネット上でそのようなものを探していましたが、答えを見つけることはできませんでした。
これを行う方法はありますか?
をインストールMVNクリーン:
<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>
私のテストが実行されるときに私が好きな方法は、skip-tests
というMaven変数を作成し、それをtrue
にデフォルト設定することです。そして、あなたがそうのようにその変数を使用することができます。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.2</version>
<configuration>
<skipTests>${skip-tests}</skipTests>
</configuration>
</plugin>
この道を、あなたはちょうどあなたがそれらを実行したくない場合は、ビルド時、-Dskip-tests=false
で変数を渡すことができます。これは統合と単体テストがあり、1つの変数で両方のテストセットを実行または無効にしたい場合に最も便利です。
は、私が最も簡単なこれをすることだと思う:
mvn clean package -Dmaven.skip.tests=true
が、私はそれはあなたがあなたのポンポンを変更することはありませんので、このアプローチは、使用することを考えて、そのプロジェクトに変更を加える必要はありません。
It's -Dmaven.test.skip = true –
コンパイルテストをスキップします。http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.htmlを参照してください。 –
ユニットテストにはSurefireを使用し、統合テストにはFailsafeを使用します。
すべてのテストをスキップするには:ちょうどフェイルセーフのテストをスキップするには
mvn clean package -DskipTests
を:ちょうどシュアスキップする
mvn clean package -DskipIT
を、明示的にフェイルセーフプラグインの統合テストの目標を呼び出す必要があり、後にもちろんテストクラスをコンパイルする:
mvn clean test-compile failsafe:integration-test
これは完全に機能しました。ありがとう:) –
あなたは大歓迎です:) – jelies