Kover는 JVM 및 Android 플랫폼용으로 컴파일된 Kotlin 코드의 테스트 커버리지를 수집하기 위한 솔루션 세트입니다.
Kover 도구 세트:
Kover Gradle 플러그인
Kover 메이븐 플러그인
코버 CLI
Kover 오프라인 계측
Kover JVM 에이전트
Kover 기능 유물
Kover Gradle 플러그인의 최신 안정 릴리스에 대한 자세한 내용은 설명서를 참조하세요.
JVM
테스트를 통한 코드 적용 범위 수집(JS 및 기본 대상은 아직 지원되지 않음)
HTML
및 XML
보고서 생성.
Kotlin JVM
, Kotlin Multiplatform
프로젝트를 지원합니다.
빌드 변형이 포함된 Kotlin Android
프로젝트 지원(Android 기기에서 실행되는 계측 테스트는 아직 지원되지 않음)
혼합 Kotlin
및 Java
소스 지원
적용 범위를 추적하기 위해 Gradle 플러그인에 경계가 있는 확인 규칙입니다.
커버리지 측정 및 보고서 생성을 위한 대안으로 Gradle 플러그인의 JaCoCo 라이브러리를 사용합니다.
Kover를 적용하는 권장 방법은 플러그인 DSL을 사용하는 것입니다.
지원되는 최소 Gradle
버전은 6.8
입니다.
최상위 빌드 파일에 다음을 추가합니다.
플러그인 { id("org.jetbrains.kotlinx.kover") 버전 "0.9.0-RC"}
플러그인 { ID 'org.jetbrains.kotlinx.kover' 버전 '0.9.0-RC'}
Kover Gradle 플러그인을 적용하면 보고서 생성 및 확인을 위한 Kover 작업이 생성됩니다. 예를 들어 HTML 보고서를 생성하려면 ./gradlew koverHtmlReport
실행하세요. 이렇게 하면 자동으로 코드 컴파일, 계측 테스트 실행이 시작되고 HTML 보고서가 빌드 폴더에 측정 결과와 함께 생성됩니다.
Kover Gradle 플러그인을 적용한 후 테스트를 실행하는 동안 JVM에 로드될 때 클래스가 수정(계측)되어 성능 저하가 발생하거나 동시 테스트에 영향을 줄 수 있다는 것도 중요합니다.
어떤 이유로 플러그인 DSL을 사용할 수 없는 경우 기존 플러그인 적용 방법을 사용할 수 있습니다.
빌드 스크립트 { 저장소 { 메이븐센트럴() } 의존성 { classpath("org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC") } }apply(플러그인 = "org.jetbrains.kotlinx.kover")
빌드 스크립트 { 저장소 { 메이븐센트럴() } 종속성 { 클래스 경로 'org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC'} } 플러그인 적용: 'org.jetbrains.kotlinx.kover'
보고서 작업이 실행될 프로젝트에 대한 종속성을 추가해야 합니다.
의존성 { kover(프로젝트(":another:프로젝트")) }
이 경우 보고서는 :another:project
프로젝트와 결합된 현재 프로젝트에 대해 생성됩니다.
Gradle 플러그인 적용의 더 많은 예는 example 폴더에서 찾을 수 있습니다.
Kover Aggregated Plugin은 다중 프로젝트 빌드 설정을 단순화하기 위해 만들어진 Gradle 설정 플러그인의 프로토타입입니다. 초기 단계이므로 테스트 또는 애완동물 프로젝트에만 사용하는 것이 좋습니다.
자세한 내용은 설명서를 참조하세요.
Kover Maven Plugin은 빌드 플러그인을 지정하여 적용할 수 있습니다.
<플러그인> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kover-maven-플러그인</artifactId> <버전>0.9.0-RC</버전> </플러그인>
Kover 목표 목록은 이 문서 섹션에 지정되어 있습니다.
Kover Maven 플러그인의 최신 안정 릴리스에 대한 자세한 내용은 설명서를 참조하세요.
오프라인 계측 및 사람이 읽을 수 있는 보고서 생성에 사용되는 독립형 JVM 애플리케이션입니다.
Kover CLI 문서.
오프라인 계측은 적용 범위를 측정하기 위해 디스크에 저장된 클래스 파일을 수정하는 것입니다.
오프라인 계측 및 계측된 응용 프로그램 실행 방법은 설명서에 설명되어 있습니다.
JVM 에이전트는 커버리지를 측정하기 위해 JVM 클래스에 로드된 바이트코드를 수정하는 jar 파일입니다. 문서.
디스크의 클래스 파일을 프로그래밍 방식으로 계측할 수 있는 JVM 종속성입니다.
Kover 기능 아티팩트 문서
기여 지침을 참조하세요.