testing - kotlin 多平台覆盖?

标签 testing kotlin code-coverage multiplatform

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

6 个月前关闭。




Improve this question




是否有任何工具可以测量 Kotlin 多平台项目的公共(public)部分的测试覆盖率?我正在研究将 Kotlin 项目迁移到多平台。我是一名 TDD 开发人员,代码覆盖率为 98%。一个好的 95% 可以移动到普通。我是否正在考虑放弃覆盖率指标?

最佳答案

我还有一个使用 jacoco 进行测试覆盖的多平台 kotlin 项目。
跟着这个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

关于testing - kotlin 多平台覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59802396/

相关文章:

reactjs - 使用 enzyme 测试重组 - 访问 Prop 问题

go - 你如何在 GoLang 的模拟中模拟错误返回值?

php - 在 Symfony2 中创建一个假用户用于测试目的

android - 如何在 .endsWith() Kotlin 中添加多个字符

php - yii phpunit 测试覆盖率 View

java - Java EE 容器上的三叶草

python - Nose 工具和 pylint

java - 实现多个接口(interface)的类的替代方案?

android - 自定义 Lint 检查未运行

c# - 部分代码覆盖率 C# - Nunit