Maven FailSafeプラグインの利点
質問
私は読む Maven FailSafeプラグイン 統合テストを実行するために特別に設計されています。現在、私はマルチモジュールプロジェクトに取り組んでおり、統合テストは独自のモジュールにあり、Testngで記述され、使用して実行されています SureFireプラグイン. 。そのモジュールのテストフェーズで統合テストのみが実行されるため、単体テストと競合しません。そして、テストの前に環境をセットアップし、テストが実行された後にクリーニングするために、 @BeforeSuite @AfterSuite
テストアノテーションが使用されます。したがって、利用する必要はありません pre-integration-test
段階、 integration-test
段階、 post-integration-test
FailSafeプラグインによって使用されるフェーズ。
- FailSafeプラグインを使用しないことで、これ以上のメリットはありますか?
- FailSafeプラグインを使用して現在の要件を行うより良い方法はありますか?
- サーバーの起動、シャットダウン、ファイルアンジッピングなどを行うことはできますか
pre-integration-test
,post-integration-test
Mavenプラグインを書くことなくフェーズ?
解決
スイートに独自のテストセットアップ/裂け目がある場合、それが見ていることから、FailSafeプラグインから得られることはあまりありません。
FailSafeプラグインは、テスト中のシステムのセットアップがコストがかかる場合や、サーブレットや分散システムを起動するなどの長い時間がかかる状況で役立ちます。これらの状況でFailSafeプラグインが便利になる方法は、この環境を設定できることです。 pre-integration-test
段階。また、このプラグインは、テストに失敗したときにMavenビルドの実行を停止しません。これにより、すべてのアーティファクトをクリーンアップできます。 post-integration-test
フェーズ、その後、テストのステータスをチェックし、それに応じてビルドを合格または失敗します verify
段階。
他のヒント
FailSafeには1つの大きな機能とSureFireがあります。テストが失敗した場合、すぐには中断されません。代わりに、クリーンアップコードを実行できます(通常、Jettyサーバーを削除します)。
3番目の質問に、実際には答えられていないので、私見です。
サーバーの起動、シャットダウン、ファイルアンジッピングなどを行うことはできますか?
から取られた この答え に "Maven FailSafeプラグイン:統合前と統合後のテストフェーズの使用方法"
要約します: pre-integration-test
と post-integration-test
デフォルトごとに何もしません。タスクに固有のプラグインをそれらのフェーズにバインドできます。特定のプラグインを見つけることは、あなたがやろうとしていることによって異なります。
指摘すべきもう1つの重要なことは、デフォルトの命名規則です。 maven-failsafe-plugin
: :テストクラスを実行して、名前が開始または終了します IT
(統合テストクラスとして)