web-dev-qa-db-ja.com

Mavenコマンドを使用してJunit Suiteを実行する

複数のJunitテストスイート(SlowTestSuite、FastTestSuiteなど)があります。 mavenコマンドを使用して特定のスイートのみを実行したいと思います。例えば.

mvn clean install test -Dtest=FastTestSuite -DfailIfNoTests=false

しかし、機能していません。テストをまったく実行していません。提案をお願いします。

32
Java SE

次のようにプロパティを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
41
Java SE

見逃したキーワードは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

このプロファイルには、いくつかの包含も含まれます。

5
Jean-Rémy Revy