Проблема:
У меня есть проект с жакоко и я хочу иметь возможность фильтровать определенные классы и / или пакеты.
Связанная документация:
Я прочитал следующую документацию:
Официальный жакокосайт: http://www.eclemma.org/jacoco/index.html
Официальный жакоко документы для Gradle: https://gradle.org/docs/current/userguide/jacoco_plugin.html
Официальный жакоко 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 exclude (не удалось заставить это работать)
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 и, таким образом, запись покрытия. Вы можете использовать это, если вы не хотите записывать покрытие для некоторых классов, если вы не можете этого сделать из-за конфликта с другим инструментальным агентом или из-за того, что вы предварительно инструментировали классы. Это не исключает класс из отчета, особенно в последнем упомянутом случае, это было бы ужасной идеей.