我向项目添加了一组没有测试的来源,我不希望它们破坏我的测试覆盖率统计信息。Gradle Jacoco - 覆盖范围报告包括配置中排除的类
test {
jacoco{
excludes = ['org/bla/**']
includes = ['com/bla/**']
append = false
}
}
jacocoTestReport {
dependsOn test
description = "Generate Jacoco coverage reports after running tests."
reports {
xml.enabled true
html.enabled true
}
classDirectories = fileTree(dir: 'build/classes/main', include: 'com/bla/**')
sourceDirectories = fileTree(dir: 'scr/main/java', include: 'com/bla/**')
}
但无论如何,生成报告时,Jacoco还包括来自org.bla类
有人可以帮助我:我在接下来的方式配置Jacoco?
编辑
一些调试之后,似乎所有默认的输出被添加到org.gradle.testing.jacoco.tasks.JacocoReport#classDirectories
在一个私有方法org.gradle.testing.jacoco.plugins.JacocoPlugin#addDefaultReportTasks
,使用这种代码的时候是可见的:
jacocoTestReport {
classDirectories = files('build/classes/main/com/bla')
println("-----------------------------------------------------------")
getAllClassDirs().each { File file ->
println(file.absolutePath)
}
println("-----------------------------------------------------------")
getAdditionalClassDirs().each{ File file ->
println(file.absolutePath)
}
}
jacocoTestReport << {
println("-----------------------------------------------------------")
getAllClassDirs().each { File file ->
println(file.absolutePath)
}
println("-----------------------------------------------------------")
getAdditionalClassDirs().each{ File file ->
println(file.absolutePath)
}
}
Output
-----------------------------------------------------------
<path_here>\build\classes\main\com\bla
-----------------------------------------------------------
....more text here
-----------------------------------------------------------
<path_here>\build\classes\main\com\bla
<path_here>\build\classes\main
<path_here>\build\resources\main
-----------------------------------------------------------
所以 - 问题是:是否有可能重写org.gradle.testing.jacoco.plugins.JacocoPlugin#addDefaultReportTasks
方法,或完全覆盖org.gradle.testing.jacoco.plugins.JacocoPlugin
类?
这是否仅包括tho se classDirectories? –
对不起,很久以前,我没有及时了解项目的最新状态。 – StKiller
我最终在这里问自己的问题:http://stackoverflow.com/questions/29887805/filter-jacoco-coverage-reports-with-gradle。 –