0

我通过编辑应用程序级别的 build.gradle 添加到我的项目 JaCoCo:

plugins{
    ...
    id 'jacoco'
}

jacoco {
   toolVersion = "0.8.7"
}

buildTypes {

    debug {
        testCoverageEnabled = true
    }
}

android {
   //...
}

dependencies{
  ...
}

configurations.all{
resolutionStrategy {
    eachDependency { details ->
        if ('org.jacoco' == details.requested.group) {
            details.useVersion "0.8.7"
        }
    }
   }
}

我的项目中真的没有任何测试,所以我期望覆盖率非常低。

但是跑步gradlew createDebugCoverageReport导致了100%的覆盖率?我期待 5% 或更低,因为我现在还没有写任何测试。那里有什么问题?

4

1 回答 1

0

给定的 gradle 输出没有简单的答案。但是,您可以在项目的构建目录中检查您的 Html 报告。您将看到包含详细信息的报告。4-5个月前,新版本的AGP(Android Gradle Plugin)发布。它包含测试和 Jacoco 的根本变化。您的测试(即使您没有测试)可能会受到这些更改的影响。您正在寻找的解决方案也取决于您的项目设置。如果您的项目是多模块的,那么您很可能需要配置您的 gradle 任务来创建您的 Jacoco 报告。当前的 Jacoco 任务(createDebugCoverageReport)可能会错过您希望在结果中看到的类。

于 2022-01-12T23:00:24.490 回答