40

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

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

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

4

2 に答える 2

50

次のように 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
于 2012-08-02T12:08:51.837 に答える
5

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

このプロファイルには、いくつかのインクルージョンも含まれます。

于 2012-08-01T22:05:46.237 に答える