複数のモジュールを含むプロジェクトがあります。すべてのテストに合格すると、Maven テストはそれらすべてを実行します。
最初のモジュールでテストが失敗すると、maven は次のプロジェクトに進みません。Surefire の設定で testFailureIgnore を true に設定しましたが、役に立ちません。
以前の失敗に関係なく、maven にすべてのテストを実行させるにはどうすればよいですか?
複数のモジュールを含むプロジェクトがあります。すべてのテストに合格すると、Maven テストはそれらすべてを実行します。
最初のモジュールでテストが失敗すると、maven は次のプロジェクトに進みません。Surefire の設定で testFailureIgnore を true に設定しましたが、役に立ちません。
以前の失敗に関係なく、maven にすべてのテストを実行させるにはどうすればよいですか?
Maven Embedderのドキュメントから:
-fae、--fail-at-end後でのみビルドに失敗します。影響を受けていないすべてのビルドを続行できるようにする
-fn、--fail-neverプロジェクトの結果に関係なく、ビルドに失敗することはありません
したがって、1 つのモジュールをテストする場合は、安全に使用できます-fae。
それ以外の場合、複数のモジュールがあり、それらすべて (失敗したテスト モジュールに依存するモジュールも含む) をテストする場合は、 を実行する必要がありますmvn clean install -fn。
-faeテストに失敗したモジュールを続行しますが (他のすべてのテストを実行します)、それに依存するすべてのモジュールはスキップされます。
-faeMaven がすべてのテストを実行し、失敗しても停止しないようにするパラメーターを見つけました。
どちらかでSurefireを設定し<testFailureIgnore>true</testFailureIgnore>ます。
またはコマンドラインで:
mvn install -Dmaven.test.failure.ignore=true
ルート プロジェクトの pom.xml に、surefire プラグインの次の構成を追加してみてください。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
[...]
</project>