Gradle4.6からのJUnit5サポートをお試ししてみた。
これより古いバージョンはGradleからJUnit5のテストを実行する - しおしおのエントリのようにする必要があると。
build.gradleの内容
test.useJUnitPlatformでJUnit5を有効化してあげる。
これだけでよくて、昔のバージョンのようにJUnit Platform Gradle Pluginは不要になる。
buildscript { ext.junit_version = '5.0.3' } test { useJUnitPlatform() // ログを出力したい場合… testLogging { events "passed", "skipped", "failed", "standardOut", "standardError" } } dependencies { testImplementation "org.junit.jupiter:junit-jupiter-api:$junit_version" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junit_version" }
実行
./gradlew clean testで実行する。
ログを有効かしていると、こんな感じのものが出力される。
:test sample.ParameterizedSampleTest > [1] 1 PASSED sample.ParameterizedSampleTest > [2] 2 PASSED sample.JUnit5Sample > test() PASSED sample.ParamTest > [1] hoge, 4 PASSED sample.ParamTest > [2] 1, 1 PASSED sample.ParamTest > [1] (hoge, 4) PASSED sample.ParamTest > [2] (abcdefg, 7) PASSED BUILD SUCCESSFUL in 2s
テストのレポートはhtmlファイルでbuild/reports/testsに出力される。
JUnit Platform Gradle Pluginのようにxmlのテスト結果だけじゃないので良い感じ。
JaCoCoプラグイン
下を追加して、./gradlew clean test jacocoTestReportでカバレッジが取れるようになる。
apply plugin: 'jacoco'
※Gradle&JUnit5でJaCoCoを使う - しおしおみたいなことも要らなくなる。
おわり。