在Kotlin多平台项目的公共部分,有没有什么工具可以衡量测试覆盖率?我正在研究将一个Kotlin项目迁移到多平台。我是一名TDD开发人员,代码覆盖率为98%。高达95%的人可以转移到普通用户。我是否正在考虑放弃覆盖指标?
发布于 2020-06-23 08:23:17
我还有一个多平台kotlin项目,它使用jacoco进行测试覆盖。
只需遵循此guide
但在使用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
}
}
运行以下命令将在您的build/reports/test/jacoco
上生成报告
gradle clean build jacocoTestReport
发布于 2020-01-20 03:53:09
AFAIK是唯一能够测量Kotlin覆盖率的工具,它是Jetbrains IDEA。我几乎可以肯定它也可以计算Kotlin MPP的覆盖率,但遗憾的是,我不知道任何明智的方法将其插入CI流水线。
发布于 2021-11-13 13:29:08
试试这个:https://github.com/Kotlin/kotlinx-kover (用于Kotlin代码复盖代理的Gradle插件: IntelliJ和JaCoCo。)
https://stackoverflow.com/questions/59802396
复制相似问题