次の形式のマルチモジュール プロジェクトでゴールの failsafe:integration-test を実行しています。
親:
--------Module_A
--------Module_B
Class_A1 (モジュール A) で何かをテストする Test_B1_IT (モジュール B) を渡すとします。
ここで Class_A1 を変更すると、テストは失敗します。しかし、ゴールを走れば
mvn failsafe:integration-test
テストは引き続きパスします。デプロイ ゴールを実行するまで、変更は反映されません。目標は、現在のリアクターからの最新のビルドではなく、リポジトリからの jar を使用することだと思います。
統合テストを実行すると機能します...ただし、すべての単体テストも実行されるようです (単体テストをスキップして _IT 統合テストを実行する方法はないようです)。
また、目標の統合テストに対して、またはフェイルセーフの目標の前に「コンパイル」を追加した場合にも機能することがわかります。ただし、最初のオプションはすべてのテストを実行します (ユニット + 統合)
これはフェイルセーフ プラグインの問題ですか、それともマルチモジュール プロジェクトで maven が依存関係を処理する方法だけですか? コンパイルオプションを追加するのが最善の方法ですか?