无法从kotlin jacoco测试覆盖范围中排除生成的类
我试图从jacoco覆盖率报告中排除一些生成的类。这在groovy中运行良好,但在转换为Kotlin之后就不起作用了无法从kotlin jacoco测试覆盖范围中排除生成的类,kotlin,build.gradle,Kotlin,Build.gradle,我试图从jacoco覆盖率报告中排除一些生成的类。这在groovy中运行良好,但在转换为Kotlin之后就不起作用了 tasks.withType<JacocoCoverageVerification> { afterEvaluate { files(classDirectories.files.forEach() { fileTree(it).apply { exclude("com/generate/**") }
tasks.withType<JacocoCoverageVerification> {
afterEvaluate {
files(classDirectories.files.forEach() {
fileTree(it).apply {
exclude("com/generate/**")
}
})
}
violationRules {
rule {
limit {
minimum = BigDecimal(0.30)
}
}
}
但违反规则的情况很好。这是对
kotlin
上的jacoco插件的限制。由于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/**")
}
}))
}
}
tasks.withType{
违反规则{
统治{
极限{
最小值=大十进制(0.62)
}
}
}
后评价{
classDirectories.setFrom(文件)(classDirectories.files.map{
文件树(it).apply{
排除(“com/generate/**”)
}
}))
}
}
tasks.withType{
后评价{
classDirectories.setFrom(文件)(classDirectories.files.map{
文件树(it).apply{
排除(“com/generate/**”)
}
}))
}
}
太棒了……我一直在寻找答案……这一个很有效……这正是所需要的。谢谢
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/**")
}
}))
}
}