5

1つのMavenプロジェクトに2セットの統合テスト(自動テストと手動テスト)があります。手動テストは少数ですが、面倒です。サーバーなどのプラグを抜く必要があります。手動テスト用に別の目標を作成したいので、手動テストを実行するようなものを実行できmvn manualtestsます。通常のMavenビルドなどを実行するだけの場合mvn installは、自動テストを実行する必要があります。

手動テストには、TestNGアノテーションを付け@Test(groups="manual"ました。目標は、surefireプラグインの2つの構成を作成することです。1つはビルドのテストフェーズにバインドされた自動テストを実行し、もう1つは呼び出したい別のカスタムフェーズにバインドされた手動テストを実行しますmanualtests。プラグインの実行を存在しないフェーズ(つまり、Mavenによって事前定義されていないフェーズ)にバインドすることはできないようです。独自のフェーズを定義することはできませんか?

4

2 に答える 2

2

そのためのプロファイルを使用できる場合があります:http: //maven.apache.org/guides/introduction/introduction-to-profiles.html

于 2010-07-23T09:33:21.527 に答える
1

簡単ではありませんが、それは可能であるはずです。最初のステップ:デフォルトでどのように行われるかを確認します。

この依存関係を使用します。

<dependency>
    <groupId>org.apache.maven</groupId>
    <artifactId>maven-core</artifactId>
    <version>${maven.version}</version>
</dependency>

ソースを取得し、META-INF/plexus内のcomponents.xmlを確認してください。そこでは、デフォルトのフェーズとデフォルトのライフサイクル/フェーズバインディングの両方が定義されています。

これらのデフォルトフェーズ(独自のcomponents.xml内)をオーバーライドするプラグインを作成し、それを拡張機能として定義します

于 2010-07-01T14:55:59.647 に答える