什么是Gradle中已弃用的JaCoCo扩展的替代品?

时间:2018-01-10 08:29:38

标签: android gradle android-gradle jacoco

我一起使用RobolectricJaCoCo。如果没有gradle脚本中的以下代码行,我的代码覆盖率报告将无效:

 testOptions {
    unitTests.all {
        jacoco {
            includeNoLocationClasses = true
        }
    }
 }

但是在最近的Gradle版本中,我在这里使用的JaCoCo扩展标记为已弃用。我找不到任何替代品。那么,我应该在哪里应用includeNoLocationClasses = true选项?

2 个答案:

答案 0 :(得分:2)

我找到了解决方案。 JaCoCo会自动将jacoco扩展名添加到test类型的所有任务中。所以,我所要做的就是在构建脚本中添加以下几行:

tasks.withType(Test) {
    jacoco.includeNoLocationClasses = true
}

它看起来不像官方解决方案,但它允许自定义JacocoReport实现正常工作。

答案 1 :(得分:0)

使用Gradle 5.5.1和Kotlin 1.3.31的Gradle Kotlin DSL可以正常工作:

tasks {
    withType<Test> {
        configure<JacocoTaskExtension> {
            isIncludeNoLocationClasses = true
        }
    }
}