Kotest HTMLレポート(Reporter)
KotestはHTML形式のテストレポートを生成できるHTML Reporterを提供する。これによりテスト実行結果を視覚的に確認でき、テスト実行に関する詳細情報を提供する。
JUnit XMLを使用するとき、ネストされたテストを通じて出力を生成できるテストでXML結果を生成できる。残念ながら、Gradleはネストされたテストをサポートしないインメモリ結果を使ってHTMLレポートを生成し、別のXMLから結果を取り込むことはできないようである。
この問題を解決するために、KotestにはJUnit XMLで生成されたXMLレポートを基にHTMLレポートを生成できるリスナーがある。
NOTE
次のモジュールが必要である: ビルドに`io.kotest:kotest-extensions-htmlreporter`。最新バージョンは[Maven Central](https://central.sonatype.com/artifact/io.kotest/kotest-extensions-htmlreporter)で検索する。
これを使用するには、プロジェクト構成を通じてリスナーとして追加するだけでよい。
class ProjectConfig : AbstractProjectConfig() {
override val specExecutionOrder = SpecExecutionOrder.Annotated
override fun extensions(): List<Extension> = listOf(
JunitXmlReporter(
includeContainers = false,
useTestPathAsName = true,
),
HtmlReporter()
)
}
そして、テストタスクにhtml.required.set(false)を追加し、Gradleが独自のHTMLレポートを生成しないようにする。
tasks.test {
useJUnitPlatform()
reports {
html.required.set(false)
junitXml.required.set(false)
}
systemProperty("gradle.build.dir", project.buildDir)
}
JunitXmlReporterも追加する。これにより、HTMLレポート生成に必要なXMLレポートが生成される。追加構成は不要で、HTMLレポート生成を開始するだけでよい。
デフォルトでは/to/buildDir/reports/tests/testにレポートを保存するが、outputDirパラメータを変更して修正できる。