Ho aggiunto a un progetto un insieme di fonti che non hanno test e non voglio che rovinino le statistiche di copertura del test. Ho configurato Jacoco nel modo seguente:Grado Jacoco - i rapporti di copertura includono classi escluse nella configurazione
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/**')
}
Ma in ogni caso, quando si genera il report, Jacoco comprende anche lezioni da org.bla
qualcuno può aiutarmi?
EDIT
Dopo un po 'di debug, sembra che tutte le uscite di default sono aggiunti a org.gradle.testing.jacoco.tasks.JacocoReport#classDirectories
in un metodo privato org.gradle.testing.jacoco.plugins.JacocoPlugin#addDefaultReportTasks
che è visibile quando si utilizza tale codice:
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
-----------------------------------------------------------
Quindi - la domanda è: è possibile sovrascrivere in qualche modo il metodo org.gradle.testing.jacoco.plugins.JacocoPlugin#addDefaultReportTasks
, o sovrascrivere completamente la classe org.gradle.testing.jacoco.plugins.JacocoPlugin
?
Questo include solo se 'classDirectories'? –
Siamo spiacenti, è stato molto tempo fa, non sono aggiornato con l'ultimo stato del progetto. – StKiller
Ho finito per fare la mia domanda qui: http://stackoverflow.com/questions/29887805/filter-jacoco-coverage-reports-with-gradle. –