複数の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カテゴリを使用する
さらに、cmdTestにパラメーターを追加することでトリガーされるfastTestなどのプロファイルを定義できます。
mvn package -PfastTests
このプロファイルには、いくつかの包含も含まれます。