无法从Kotlin Jacoco测试覆盖范围中排除生成的类

时间:2019-04-30 13:07:23

标签: kotlin build.gradle

我正在尝试从jacoco覆盖率报告中排除一些生成的类。 groovy可以正常工作,但是转换为Kotlin后就不能正常工作

calculation.py

}

<picture>
<source srcset="img/awesomeWebPImage.webp" type="image/webp">
<source srcset="img/creakyOldJPEG.jpg" type="image/jpeg"> 
<img src="img/creakyOldJPEG.jpg" alt="Alt Text!">
</picture>

但是违反规则很好地工作。

1 个答案:

答案 0 :(得分:1)

这是jacoco pluginkotlin的局限性。由于classDirectories不是最终的,我们不能采用旧的方式。我们需要使用方法classDirectories.setFrom来设置值。

tasks.withType<JacocoCoverageVerification> {
    violationRules {
        rule {
            limit {
                minimum = BigDecimal(0.62)
            }
        }
    }

    afterEvaluate {
        classDirectories.setFrom(files(classDirectories.files.map {
            fileTree(it).apply {
                exclude("com/generate/**")
            }
        }))
    }
}

tasks.withType<JacocoReport> {
    afterEvaluate {
        classDirectories.setFrom(files(classDirectories.files.map {
            fileTree(it).apply {
                exclude("com/generate/**")
            }
        }))
    }
}