我一起使用Robolectric
和JaCoCo
。如果没有gradle脚本中的以下代码行,我的代码覆盖率报告将无效:
testOptions {
unitTests.all {
jacoco {
includeNoLocationClasses = true
}
}
}
但是在最近的Gradle版本中,我在这里使用的JaCoCo扩展标记为已弃用。我找不到任何替代品。那么,我应该在哪里应用includeNoLocationClasses = true
选项?
答案 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
}
}
}