Kotest HTML 보고서(Reporter)
Kotest는 HTML 형식의 테스트 보고서를 생성할 수 있는 HTML 리포터(HTML Reporter)를 제공한다. 이를 통해 테스트 실행 결과를 시각적으로 확인할 수 있으며, 테스트 수행에 대한 상세 정보를 제공한다.
JUnit XML을 사용할 때 중첩된 테스트를 통해 출력을 생성할 수 있는 테스트에서 XML 결과를 생성할 수 있다. 안타깝게도 Gradle은 중첩 테스트를 지원하지 않는 인메모리에 있는 결과를 사용하여 HTML 보고서를 생성하며, 다른 XML에서 결과를 가져올 수 없는 것 같다.
이 문제를 해결하기 위해 Kotest에는 JUnit XML에서 생성된 XML 보고서를 기반으로 HTML 보고서를 생성할 수 있는 리스너가 있다.
NOTE
다음 모듈이 필요하다: 빌드에 io.kotest:kotest-extensions-htmlreporter. 최신 버전은 여기에서 maven central을 검색하세요. 빌드에io.kotest:kotest-extensions-htmlreporter
모듈이 필요하다. 최신 버전은 여기에서 maven central을 검색하다.
이를 사용하려면 프로젝트 구성을 통해 리스너로 추가하기만 하면 된다.
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
을 변경하여 수정할 수 있다.
참고
최종 수정 : 2024-04-14