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

Я пытаюсь исключить некоторые пакеты из сканирования покрытия 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, но мне нравится чувство безопасности, зная, что на самом деле нет никаких запахов кода).


person George    schedule 10.10.2018    source источник
comment
где твой ‹исполнение›‹id›...‹/id›‹цели›‹цель›…‹/цель›‹/цели›‹/исполнение› ?   -  person Stéphane GRILLON    schedule 10.10.2018
comment
Текущее объяснение вашего дела не отличается от существующих ответов на вопросы об этом - например. stackoverflow.com/a/50294239/244993 , stackoverflow.com/a/39446033/244993 , stackoverflow.com/a/28147991/244993 Если это отличается, пожалуйста, не забудьте добавить больше деталей. И обязательно прочитайте stackoverflow.com/help/mcve, чтобы предоставить достаточно подробностей, включая минимальный, полный и проверяемый пример.   -  person Godin    schedule 11.10.2018


Ответы (1)


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

<properties>
    <sonar.coverage.exclusions>**/pojo/**/*</sonar.coverage.exclusions>
</properties>
person Nicolas    schedule 22.01.2021