Проблема:
У меня есть проект с jacoco, и я хочу быть возможность фильтровать определенные классы и / или пакеты.
Связанная документация:
Я прочитал следующую документацию:
Официальный сайт jacoco: http://www.eclemma.org/jacoco/index.html
Официальные jacoco для gradle: https://gradle.org/docs/current/userguide/jacoco_plugin.html
Официальные jacoco Github
, работа над освещением : https://github.com/jacoco/jacoco/wiki/FilteringOptions https://github.com/jacoco/jacoco/issues/14
Связанные ссылки на StackOverflow:
JaCoCo & Gradle - параметры фильтрации (нет ответа)
Исключить пакеты из отчета Jacoco с помощью Sonarrunner и Gradle ( Без использования сонар)
JaCoCo - исключить JSP из отчета (похоже, работает для maven, я использую gradle)
Конфигурация Maven Jacoco - исключить классы / пакеты из отчета, не работающего (похоже, это работает для maven , Я использую gradle)
Исключить плагин 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"]
}
}
}
Вопрос:
Как мне исключить определенные пакеты и классы при создании jacoco отчеты о покрытии?
packages
онлайн, используяCodecov
? Еще виделGithub
, насчет поддержкиAndroid
виделJava
. Мне все равно придется отправлять вам все отчеты, а затем фильтровать после и фильтровать раньше. - person Jared Burrows   schedule 06.05.2015excludes
из официальной документации? Это бесполезно? - person Vivin Paliath   schedule 30.10.2015excludes
находится не в задаче покрытия, а в тестовой задаче. Он исключает обработку файлов JaCoCo и, таким образом, запись покрытия. Вы можете использовать это, если вы не хотите записывать покрытие для некоторых классов, если вы не можете из-за конфликта с другим инструментальным агентом или из-за того, что вы предварительно инструментировали классы. Это не исключает класс из отчета, особенно в последнем упомянутом случае, это было бы ужасной идеей. - person Vampire   schedule 25.09.2019