nwi*_*llc 7 testing code-coverage multiplatform kotlin
是否有任何工具可以衡量 Kotlin 多平台项目的公共部分中的测试覆盖率?我正在研究将 Kotlin 项目迁移到多平台。我是一名 TDD 开发人员,代码覆盖率达 98%。一个好的 95% 可以移动到普通。我是否正在考虑放弃覆盖率指标?
我还有一个多平台 kotlin 项目,它使用 jacoco 进行测试覆盖率。
只需遵循本指南即可
但如果您使用 gradle kotlin dsl,则需要进行一些配置:
plugins {
kotlin("multiplatform") version "1.3.72"
id("java-library")
jacoco
}
jacoco {
toolVersion = "0.8.6"
}
tasks.jacocoTestReport {
val coverageSourceDirs = arrayOf(
"src/commonMain",
"src/jvmMain"
)
val classFiles = File("${buildDir}/classes/kotlin/jvm/")
.walkBottomUp()
.toSet()
classDirectories.setFrom(classFiles)
sourceDirectories.setFrom(files(coverageSourceDirs))
executionData
.setFrom(files("${buildDir}/jacoco/jvmTest.exec"))
reports {
xml.isEnabled = true
html.isEnabled = true
}
}
Run Code Online (Sandbox Code Playgroud)
运行下面的命令将生成有关您的报告build/reports/test/jacoco
gradle clean build jacocoTestReport
Run Code Online (Sandbox Code Playgroud)
asm*_*dey -1
据我所知,唯一能够测量 Kotlin 覆盖率的工具是 Jetbrains IDEA。我几乎确信它也可以计算 Kotlin MPP 的覆盖率,但遗憾的是我不知道有什么明智的方法将其插入 CI 管道。
| 归档时间: |
|
| 查看次数: |
1216 次 |
| 最近记录: |