Как исключить сгенерированный код из отчета о покрытии кода?

У меня есть следующая конфигурация jacoco-maven-plugin:

      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco.version}</version>
        <configuration>
          <excludes>
            <exclude>**/Header*.java</exclude>
          </excludes>
        </configuration>
        <executions>
          <execution>
            <id>prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

Что должно исключать из отчета о покрытии кода все сгенерированные файлы Java, начинающиеся с Header. К сожалению, я все еще вижу эти классы в своем отчете о покрытии кода, что приводит к сбою coveralls-maven-plugin при вызове coveralls:report. Ошибка, которую я получаю, когда я вызываю coveralls:report:

: No source found for HeaderMyClass.java ->

Это заставляет меня думать, что отчет о покрытии JaCoCo все еще содержит данные для этого класса, которые были созданы автоматически.


person Shmoe    schedule 29.06.2019    source источник


Ответы (2)


Просто добавьте исключения для цели report в конфигурации jacoco-maven-plugin.

<execution>
  <id>coverage-report</id>
  <phase>post-integration-test</phase>
  <goals>
    <goal>report</goal>
  </goals>
  <configuration>
    <excludes>
      <exclude>**/*Dto.class</exclude>
      <exclude>com/foo/config/*</exclude>
    </excludes>
  </configuration>
</execution>
person Radek M    schedule 20.01.2020

Изменение шаблона на:

  <excludes>
    <exclude>**/Header*.*</exclude>
  </excludes>

сделал свое дело

person Shmoe    schedule 29.06.2019