29

私が実行maven clean installしているときは、常にすべてのテストを実行しますsrc/test/java。すべてのテストをスキップする方法はありますか?テストなしで単純なビルドを実行するだけです。

私は自分のテストを入れたいのですsrc/test/javaが、maven にテストを実行しないように伝えたいのです。私はインターネットでそのようなものを探していましたが、答えを見つけることができませんでした。

これを行う方法はありますか?

4

8 に答える 8

53

試してみてください:

mvn clean install -DskipTests

ソースはこちら

于 2012-08-24T13:13:25.470 に答える
16

使い方も選べます

mvn install -Dmaven.test.skip

Maven のWeb サイトから:

どうしても必要な場合は、maven.test.skip プロパティを使用してテストのコンパイルをスキップすることもできます。maven.test.skip は、Surefire、Failsafe、および Compiler Plugin によって尊重されています。

言われているように、テストソースをコンパイルすることさえしません。

于 2012-08-24T13:19:46.473 に答える
6

http://maven.apache.org/plugins/maven-surefire-plugin/examples/skipping-test.htmlから:

<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>
于 2012-08-24T13:12:55.917 に答える
4

テストをいつ実行するかを管理する私のお気に入りの方法は、という名前の Maven 変数を作成し、skip-testsデフォルトで に設定すること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 つの変数だけで両方のテスト セットを実行または無効にしたい場合に最も便利です。

于 2012-08-24T13:19:55.803 に答える
3

これを使って

mvn clean install -DskipTests

于 2012-08-24T13:12:21.237 に答える
0

単体テストには Surefire を使用し、統合テストにはFailsafeを使用します。

すべてのテストをスキップするには:

mvn clean package -DskipTests

Failsafe テストだけをスキップするには:

mvn clean package -DskipIT

Surefire だけをスキップするには、もちろんテスト クラスをコンパイルした後、Failsafe プラグインの統合テスト ゴールを明示的に呼び出す必要があります。

mvn clean test-compile failsafe:integration-test
于 2012-09-15T10:41:50.113 に答える
-1

私はこれが最も簡単だと思います:mvn clean package -Dmaven.skip.tests=true

これは、pomを変更する必要がないため、プロジェクトを変更する必要がないため、使用するアプローチだと思います。

于 2012-08-24T13:42:07.463 に答える