Problem:
Mam projekt z jacoco i chcę mieć możliwość filtrowania określonych klas i / lub pakietów.
Powiązana dokumentacja:
Przeczytałem następującą dokumentację:
Urzędnik jacocosite: http://www.eclemma.org/jacoco/index.html
Urzędnik jacoco dokumenty dla gradle: https://gradle.org/docs/current/userguide/jacoco_plugin.html
Urzędnik jacoco Github
zagadnienia, praca nad zasięgiem:
https://github.com/jacoco/jacoco/wiki/FilteringOptions
https://github.com/jacoco/jacoco/issues/14
Powiązane łącza StackOverflow:
JaCoCo i Gradle - Opcje filtrowania (brak odpowiedzi)
Wyklucz pakiety z raportu Jacoco za pomocą Sonarrunner i Gradle (nie używasonar)
JaCoCo - wyklucz JSP z raportu (wydaje się, że działa w przypadkumaven, Ja używam gradle)
Konfiguracja Maven Jacoco - wykluczenie klas / pakietów z raportu nie działa (wydaje się działać dlamaven, Ja używam gradle)
Wykluczenie wtyczki JaCoCo gradle (nie udało się tego uruchomić)
Gradle Jacoco - raporty pokrycia obejmują klasy wykluczone w konfiguracji (Wydaje się bardzo zbliżone, używane doFirst
, nie działały u mnie)
Przykład tego, czego próbowałem:
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"]
}
}
}
Pytanie:
Jak mogę wykluczyć niektóre pakiety i klasy podczas generowania pliku jacoco raporty zasięgu?
packages
online używając Codecov
? Widziałem też Github
, co z Android
obsługą, widziałem Java
. Powinienem nadal wysyłać Ci wszystkie raporty, a następnie filtrować po a wcześniej filtrować.
excludes
właściwie robi oficjalna dokumentacja ? Czy to jest prawie bezużyteczne?
excludes
nie dotyczy zadania pokrycia, ale zadania testowego. Wyklucza to pliki z instrumentowania przez JaCoCo, a tym samym z nagrywania relacji. Możesz tego użyć, jeśli nie chcesz rejestrować pokrycia niektórych klas, jeśli nie możesz tego zrobić z powodu konfliktu z innym agentem instrumentacji lub z powodu wcześniejszego oprzyrządowania klas. Nie wykluczy to klasy z raportu, zwłaszcza w ostatnim wymienionym przypadku byłby to okropny pomysł.