Problem:
Ich habe ein Projekt mit Jacoco und ich möchte in der Lage sein, bestimmte Klassen und / oder Pakete zu filtern.
Dazugehörige Dokumentation:
Ich habe die folgende Dokumentation gelesen:
Offiziell JacocoWebsite: http://www.eclemma.org/jacoco/index.html
Offiziell Jacoco Dokumente für gradle: https://gradle.org/docs/current/userguide/jacoco_plugin.html
Offiziell Jacoco Github
Probleme, die an der Berichterstattung arbeiten:
https://github.com/jacoco/jacoco/wiki/FilteringOptions
https://github.com/jacoco/jacoco/issues/14
Verwandte StackOverflow-Links:
JaCoCo & Gradle - Filteroptionen (Keine Antwort)
Schließen Sie Pakete aus dem Jacoco-Bericht mit Sonarrunner und Gradle aus (nicht mitSonar)
JaCoCo - JSP vom Bericht ausschließen (es scheint zu funktionierenMaven, Ich benutze gradle)
Maven Jacoco-Konfiguration - Schließen Sie Klassen / Pakete von Berichten aus, die nicht funktionieren (es scheint zu funktionierenMaven, Ich benutze gradle)
JaCoCo Gradle Plugin ausschließen (Konnte dies nicht zum Laufen bringen )
Gradle Jacoco - Berichterstattungsberichte enthalten Klassen, die in der Konfiguration ausgeschlossen sind (Scheint sehr nahe, es hat verwendet doFirst
, hat bei mir nicht funktioniert)
Beispiel für das, was ich versucht habe:
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"]
}
}
}
Frage:
Wie kann ich bestimmte Pakete und Klassen beim Generieren der ausschließen? Jacoco Berichterstattungsberichte?
packages
online filtern Codecov
? Außerdem habe ich gesehen Github
, was ist mit Android
Unterstützung, die ich gesehen habe Java
. Ich sollte Ihnen immer noch alle Berichte senden müssen, um danach zu filtern und vorher zu filtern.
excludes
von der offiziellen Dokumentation tatsächlich tun dann? Ist es so ziemlich nutzlos?
excludes
betrifft nicht die Abdeckungsaufgabe, sondern die Testaufgabe. Es schließt aus, dass Dateien von JaCoCo instrumentiert und somit die Berichterstattung aufgezeichnet wird. Sie können dies verwenden, wenn Sie für einige Klassen keine Abdeckung aufzeichnen möchten, wenn Sie dies aufgrund eines Konflikts mit einem anderen Instrumentierungsagenten nicht können oder weil Sie Klassen vorinstrumentiert haben. Dies schließt eine Klasse nicht aus dem Bericht aus, insbesondere im zuletzt genannten Fall wäre dies eine schreckliche Idee.