Problema:
Eu tenho um projeto com Jacoco e eu quero ser capaz de filtrar certas classes e / ou pacotes.
Documentação relacionada:
Eu li a seguinte documentação:
Oficial Jacocosite: http://www.eclemma.org/jacoco/index.html
Oficial Jacoco docs para gradle: https://gradle.org/docs/current/userguide/jacoco_plugin.html
Oficial Jacoco Github
questões, trabalhando na cobertura:
https://github.com/jacoco/jacoco/wiki/FilteringOptions
https://github.com/jacoco/jacoco/issues/14
Links StackOverflow relacionados:
JaCoCo & Gradle - Opções de filtragem (sem resposta)
Excluir pacotes do relatório Jacoco usando Sonarrunner e Gradle (não usandosonar)
JaCoCo - excluir JSP do relatório (parece funcionar paramaven, Estou usando gradle)
Configuração Maven Jacoco - Excluir classes / pacotes do relatório que não funcionam (parece funcionar paramaven, Estou usando gradle)
Exclusão do plugin JaCoCo gradle (não foi possível fazer isso funcionar)
Gradle Jacoco - relatórios de cobertura incluem classes excluídas na configuração (parece muito próximo, usou doFirst
, não funcionou para mim)
Exemplo do que tentei:
apply plugin: 'java'
apply plugin: 'jacoco'
buildscript {
repositories {
mavenCentral()
jcenter()
}
}
repositories {
jcenter()
}
jacocoTestReport {
reports {
xml {
enabled true // coveralls plugin depends on xml format report
}
html {
enabled true
}
}
test {
jacoco {
destinationFile = file("$buildDir/jacoco/jacocoTest.exec")
classDumpFile = file("$buildDir/jacoco/classpathdumps")
excludes = ["projecteuler/**"] // <-- does not work
// excludes = ["projecteuler"]
}
}
}
Questão:
Como posso excluir certos pacotes e classes ao gerar o Jacoco relatórios de cobertura?
packages
online usando Codecov
? Além disso, eu vi o Github
, o que dizer de Android
apoio, eu vi Java
. Ainda devo enviar a você todos os relatórios e, em seguida, filtrar após vs filtrar antes.
excludes
documentação oficial realmente faz então? É praticamente inútil?
excludes
não está na tarefa de cobertura, mas na tarefa de teste. Exclui os arquivos da instrumentação da JaCoCo e, portanto, da gravação da cobertura. Você pode usar isto se não quiser gravar cobertura para algumas classes, se não puder por causa de algum conflito com outro agente de instrumentação ou porque você pré-instrumentou classes. Isso não excluirá uma turma do relatório, principalmente no último caso mencionado, seria uma ideia horrível.