Jacoco исключает пакеты, не сокращая общее количество строк до покрытия

Я пытаюсь исключить некоторые пакеты из сканирования покрытия Jacoco, но это работает не так, как я ожидал. Вот моя конфигурация Maven POM для Jacoco:

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <version>0.8.0</version>
    <configuration>
        <excludes>
            <exclude>**/pojo/**/*</exclude>
        </excludes>
</configuration>
</plugin>

Поведение, с которым я сталкиваюсь, заключается в том, что файлы устанавливаются на 0% покрытых строк вместо уменьшения общего числа строк, которые нужно покрыть, что фактически снижает мой процент покрытия. Так как мне это исправить?

Обновлено: обходной путь для этой проблемы - полностью удалить файл из SonarQube, используя свойства сонара:

<sonar.exclusions>**/pojo/**/*</sonar.exclusions>

Однако это всего лишь обходной путь, поскольку теперь я не вижу запаха кода из этих файлов (вероятно, их нет, поскольку они являются объектами POJO, но мне нравится чувство безопасности, когда я точно знаю, что запаха кода нет).

где ваше <execution> <id> ... </id> <goals> <goal> ... </goal> </goals> </ exec‌ ution>?

Stéphane GRILLON 10.10.2018 22:03

Текущее объяснение вашего дела не отличается от существующих ответов на вопросы по этому поводу - например, stackoverflow.com/a/50294239/244993, stackoverflow.com/a/39446033/244993, stackoverflow.com/a/28147991/244993 Если это другое, не забудьте добавить больше деталей. И обязательно прочтите stackoverflow.com/help/mcve, чтобы предоставить достаточно подробностей, включая минимальный, полный и проверяемый пример.

Godin 10.10.2018 23:58
Не удалось выполнить цель org.apache.maven.plugins
Не удалось выполнить цель org.apache.maven.plugins
Опишу, что когда я только начинал изучать Maven, у меня не получалось компилировать и упаковывать.
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Blibli Automation Journey - Как захватить сетевой трафик с помощью утилиты HAR в Selenium 4
Если вы являетесь веб-разработчиком или тестировщиком, вы можете быть знакомы с Selenium, популярным инструментом для автоматизации работы...
1
2
459
1

Ответы 1

Все строки кода в Sonar не полностью управляются Jacoco. Вам необходимо добавить это свойство в ваш pom.xml:

<properties>
    <sonar.coverage.exclusions>**/pojo/**/*</sonar.coverage.exclusions>
</properties>

Другие вопросы по теме