Java Jenkins插件jacoco用于代码覆盖率不';不要考虑建筑中的课程。

Java Jenkins插件jacoco用于代码覆盖率不';不要考虑建筑中的课程。,java,jenkins,gradle,jacoco,Java,Jenkins,Gradle,Jacoco,这是我的build.gradle的一部分,我将其配置为将类从代码覆盖范围中排除 test { jacoco { append = false destinationFile = file("$buildDir/reports/jacoco/jacoco.exec") } finalizedBy jacocoTestReport } jacocoTestReport { reports {

这是我的build.gradle的一部分,我将其配置为将类从代码覆盖范围中排除

test {
    jacoco {
        append = false        
        destinationFile = file("$buildDir/reports/jacoco/jacoco.exec")           
    }   
    finalizedBy jacocoTestReport 
}
jacocoTestReport {
    reports {
        xml {
            enabled true 
        }
        html {
            enabled true
        }
    }

    afterEvaluate {
        classDirectories = files(classDirectories.files.collect {
            fileTree(dir: it,
                    exclude: ['**/*DAO*.*'])
        })
    }
}
在这里,我想在我的项目中排除DAO类,因为我正在模拟这些类,并且我计划在DB测试用例中以不同于单元测试的方式涵盖它们

当我运行以下命令时: gradle jacocoTestReport

它生成代码覆盖率报告,将这些类从代码覆盖率中排除, ${project\u dir}\build\reports\jacoco\test\html\index.html

作为一个原因,我已通过以下方式将其排除在gradle build之外:

 afterEvaluate {
        classDirectories = files(classDirectories.files.collect {
            fileTree(dir: it,
                    exclude: ['**/*DAO*.*'])
        })
    }

但是当詹金斯构建项目时,詹金斯生成的代码覆盖报告不考虑这些设置,而詹金斯生成的报告包含覆盖报告中的那些类。p> 我尝试过的另一项工作是修改jenkins中jacoco插件的“构建后操作”的代码配置 我已经在Exclutions

(例如:***/*DAO**)
文本字段下设置了我的模式,这很好,测试用例被排除在代码覆盖范围之外

但我想知道,有没有什么方法可以避免配置jenkins来指定排除模式,并使用gradle JacoTestReport在jenkins上生成的报告,因为这是一种冗余,因为我在build.gradle中指定了它,如果我必须在jenkins上创建多个分支,那么这也是一种维护

根据下面的帖子,这个问题还没有解决

有人知道这件事吗

注意:我的Jacoco版本是:

jacoco {
    toolVersion = "0.7.6.201602180812"
}
jenkins上的Jacoco插件版本是:

2.0.1