Problème:
J'ai un projet avec jacoco et je veux pouvoir filtrer certaines classes et / ou packages.
Documentation connexe:
J'ai lu la documentation suivante:
Officiel jacocosite: http://www.eclemma.org/jacoco/index.html
Officiel jacoco documents pour gradle: https://gradle.org/docs/current/userguide/jacoco_plugin.html
Officiel jacoco Github
problèmes, travail sur la couverture:
https://github.com/jacoco/jacoco/wiki/FilteringOptions
https://github.com/jacoco/jacoco/issues/14
Liens StackOverflow connexes:
JaCoCo & Gradle - Options de filtrage (pas de réponse)
Exclure les packages du rapport Jacoco à l'aide de Sonarrunner et Gradle (sans utilisersonar)
JaCoCo - exclure JSP du rapport (cela semble fonctionner pourMaven, J'utilise gradle)
Configuration Maven Jacoco - Exclure les classes / packages du rapport ne fonctionne pas (cela semble fonctionner pourMaven, J'utilise gradle)
Exclusion du plugin JaCoCo gradle (impossible de faire fonctionner cela)
Gradle Jacoco - les rapports de couverture incluent les classes exclues de la configuration (semble très proche, il a utilisé doFirst
, n'a pas fonctionné pour moi)
Exemple de ce que j'ai essayé:
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"]
}
}
}
Question:
Comment puis-je exclure certains packages et classes lors de la génération du jacoco rapports de couverture?
packages
ligne en utilisant Codecov
? Aussi, j'ai vu le Github
, qu'en est-il du Android
soutien, j'ai vu Java
. Je devrais encore avoir à vous envoyer tous les rapports puis filtrer après vs filtrage avant.
excludes
de la documentation officielle fait faire alors? Est-ce à peu près inutile?
excludes
n'est pas sur la tâche de couverture, mais sur la tâche de test. Il exclut les fichiers d'être instrumentés par JaCoCo et donc d'enregistrer la couverture. Vous pouvez l'utiliser si vous ne souhaitez pas enregistrer la couverture pour certaines classes, si vous ne pouvez pas en raison d'un conflit avec un autre agent d'instrumentation ou parce que vous avez pré-instrumenté des classes. Cela n'exclura pas une classe du rapport, surtout dans le dernier cas mentionné, ce serait une idée horrible.