3

プラグインを作成せずにMavenビルドのライフサイクルをカスタマイズすることは可能ですか?テストを実行せずにプロジェクトをパッケージ化するようにカスタマイズしてから、テストを実行したいと思います。背景には、テストがHTTPUnitで実行されており、完全に構築されたWebアプリケーションディレクトリ構造が必要です。

4

3 に答える 3

3

khmarbaise で提案されているように、maven-surefire-plugin の拡張である maven-failsafe-plugin を使用できます。

Maven ライフサイクルには、目的に最適な 4 つのフェーズがあります。

  1. pre-integration-test統合テスト環境をセットアップするため。
  2. integration-test統合テストを実行するため。
  3. post-integration-test統合テスト環境を破棄するため。
  4. verify統合テストの結果を確認するため。

一般的に言えばpre-integration-test 、サーバーを起動するときに

例えば:

   <executions>
      [...]
      <execution>
        <id>start-jetty</id>
        <phase>pre-integration-test</phase>
        <goals>
          <goal>run-exploded</goal>
        </goals>
        <configuration>
          <scanIntervalSeconds>0</scanIntervalSeconds>
          <daemon>true</daemon>
        </configuration>
      </execution>
      <execution>
        <id>stop-jetty</id>
        <phase>post-integration-test</phase>
        <goals>
          <goal>stop</goal>
        </goals>
      </execution>

このプラグインをHudsonで使用しています。詳細については、Maven Build Customization - Chapter 5を参照してください。

于 2014-11-06T16:55:08.530 に答える
1

統合テストを書いているようです。

maven-failsafe-pluginを使用できます。このプラグインは、 maven ビルド ライフサイクルの統合テスト フェーズ(パッケージ化フェーズの後) でデフォルトで実行されます...

于 2012-08-28T14:21:08.250 に答える
1

これらの目的のためには、まさにそのようなことを意図した統合テストフェーズが必要です。パッケージ化段階の後ですが、インストール/展開段階の前です。これは、maven-failsafe-pluginを使用して実現できます。ここで完全な例を見つけることができます。

于 2012-08-28T14:21:19.450 に答える