複数のJunitテストスイート(SlowTestSuite、FastTestSuiteなど)があります。mavenコマンドを使用して特定のスイートのみを実行したいと思います。例えば
mvn clean install test -Dtest=FastTestSuite -DfailIfNoTests=false
しかし、それは機能していません。テストをまったく実行していません。何か提案をお願いします。
複数のJunitテストスイート(SlowTestSuite、FastTestSuiteなど)があります。mavenコマンドを使用して特定のスイートのみを実行したいと思います。例えば
mvn clean install test -Dtest=FastTestSuite -DfailIfNoTests=false
しかし、それは機能していません。テストをまったく実行していません。何か提案をお願いします。
次のように pom にプロパティを追加することでこれを達成しました。
<properties>
<runSuite>**/FastTestSuite.class</runSuite>
</properties>
maven-surefire-plugin は次のようになります。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>${runSuite}</include>
</includes>
</configuration>
</plugin>
したがって、デフォルトでは FastTestSuite が実行されることを意味しますが、次のように maven コマンドを使用して SlowTestSuite などの他のテストを実行できます。
mvn install -DrunSuite=**/SlowTestSuite.class -DfailIfNoTests=false
見逃したキーワードは maven-surefire-plugin です: http://maven.apache.org/plugins/maven-surefire-plugin/。
使用法は次のとおりです。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.1</version>
<configuration>
<includes>
<include>**/com.your.packaged.Sample.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>
スタック オーバーフローについて少し検索すると、情報が見つかる場合があります。
maven-failsafe-plugin を使用して Maven で JUnit4 テスト スイートを実行する Maven Failsafe プラグインで JUnit カテゴリを使用する
さらに、コマンドラインにパラメーターを追加することでトリガーされる、fastTest などのプロファイルを定義することもできます。
mvn package -PfastTests
このプロファイルには、いくつかのインクルージョンも含まれます。