🐕
GradleにおけるJUnit 5.12.0からの注意点
TL;DR
junit 5.12.0以上にあげるときは、testRuntimeOnly("org.junit.platform:junit-platform-launcher")
を追加するようにしてください。(BOMを使っているであろうという前提でversionは省略してます)
追加しないとtest taskが実行できないのですぐに気付けると思います。
Why
明示的に junit-platform-launcherへの依存関係を指定しない場合、Gradleはバンドルされたバージョンを暗黙的に使用します。Gradle 8.13の時点では、junit-platform-launcher 1.8.2が使われます。(ちなみに今の最新は1.12.0です)
junit 5.12はjunit-platform-launcher 1.8.2とは互換性がなくなってしまっているため、結果としてテストを実行することができなくなってしまいました。
ちなみにGradleではこういった可能性に気づいていたため、Gradle 8からjunit-platform-launcherを明示的に指定しましょう!というガイドを出していたようです。
Discussion