Java Jenkins插件jacoco用于代码覆盖率不';不要考虑建筑中的课程。
这是我的build.gradle的一部分,我将其配置为将类从代码覆盖范围中排除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 {
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