私が pom で JUnit5 を使用しているにもかかわらず、Maven Surefire プラグインのデフォルトは依然として JUnit4 です。これにより、特に JUnit5 の新機能を使用する場合に、いくつかの問題が発生する可能性があります。この問題を解決するには、pom ファイルを構成することで、Surefire プラグインに JUnit5 をデフォルトのテスト ランナーとして使用するように指示できます。 pom ファイルの build タグに、plugins タグを追加し、その中で maven-surefire-plugin を設定する必要があります。構成では、testFrameworkProviderName を org.junit.platform.surefire.provider.JUnitPlatformProvider として指定する必要があります。このようにして、mvn test コマンドを実行すると、Surefire プラグインは JUnit5 を使用してテストを実行します。この構成により、JUnit5 の使用中にテストを正常に実行できることが保証されます。
この記事を読みました。これは私の親のポンです:
リーリー私のサブプロジェクトには、junit
依存関係がありません。 mvn install
を実行すると、次のように表示されます:
自動的に検出されるプロバイダーが org.apache.maven.surefire.junit4.junit4provider
であるのはなぜですか? junit5 を使用する必要があります。
mvn dependency:tree
を実行すると、次のように表示されます:
これも奇妙です。pom.xml
でバージョン 5.9.3
と 1.9.3
を使用していないからです。 junit-bom:5.10.1
を使用しています。
Maven がすぐに正しく動作しない理由と理由は何ですか?
理由:
リーリー依存関係ツリー内。 pom.xml
内の junit-platform-runner
への依存関係を削除すると、問題が解決されました。
私の場合、これは、dependencymanagement で
spring-boot-dependency:3.1.5 も参照していたためであり、これは
junit で優先されました。 -bom:5.10.1
。 spring-boot-dependency:3.1.5
には、junit-bom:5.9.3
への参照が渡されます。
以上がpom で JUnit5 を使用しているにもかかわらず、Maven Surefire プラグインは依然としてデフォルトで JUnit4 になりますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。