Проблема:
У мене є проект с джакоко і я хочу мати можливість фільтрувати певні класи та / або пакети.
Супутня документація:
Я прочитав таку документацію:
Офіційна джакокосайт: http://www.eclemma.org/jacoco/index.html
Офіційна джакоко документи для градле: https://gradle.org/docs/current/userguide/jacoco_plugin.html
Офіційна джакоко Github
питань, працюючи над висвітленням:
https://github.com/jacoco/jacoco/wiki/FilteringOptions
https://github.com/jacoco/jacoco/isissue/14
Пов'язані посилання StackOverflow:
JaCoCo & Gradle - Параметри фільтрації (немає відповіді)
Виключіть пакунки зі звіту Якоко за допомогою Sonarrunner та Gradle (Не використовуєтьсясонар)
JaCoCo - виключити JSP із звіту (здається, він працює дляmaven, Я використовую градле)
Конфігурація Maven Jacoco - Виключіть класи / пакети із звіту, які не працюють (це, здається, працює дляmaven, Я використовую градле)
Плагін JaCoCo gradle виключити (не вдалося це зробити)
Gradle Jacoco - звіти про охоплення включають класи, виключені в конфігурації (здається, дуже близько, він використовувався doFirst
, не працював для мене)
Приклад того, що я спробував:
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"]
}
}
}
Питання:
Як я можу виключити певні пакети та класи при генерації джакоко звіти про покриття?
packages
використовуючи Інтернет Codecov
? Крім того, я бачив те Github
, що про Android
підтримку, я бачив Java
. Мені все одно доведеться надсилати всі звіти, після чого фільтрувати після фільтрації проти.
excludes
з офіційної документації на насправді робити те? Це в значній мірі марно?
excludes
стосується не завдання покриття, а тестового завдання. Це виключає, що файли не підлягають інструментам JaCoCo і таким чином записуються покриття. Ви можете використовувати це, якщо ви не хочете записувати покриття для деяких класів, якщо ви не можете через конфлікт з іншим інструментом приладів або через попередні інструментальні класи. Це не виключає клас із звіту, особливо в останньому згаданому випадку, це було б жахливою ідеєю.