Покрытие кода с использованием JaCoCo

Я пытаюсь получить покрытие кода с помощью JaCoCo-javaagent, передавая аргумент VM

-javaagent:/test/jacoco/jacocoagent.jar=destfile=/test/jacoco/jacoco.exec,includes=com *, дополните = истина.

Я могу получить какое-то значение в файле jacoco.exec, но не могу получить отчет о покрытии. Как я могу преобразовать jacoco.exec в отчет о покрытии ИЛИ я что-то упускаю в аргументе VM.

Условие таково, что у меня есть только jar и war и я использую сервер jBoss для запуска приложения.

2 ответа

Запустите SonarQube, который включает в себя отличные отчеты JaCoCo. Нет необходимости анализировать двоичный вывод из JaCoCo самостоятельно.

Ссылки на инструкции по его запуску с помощью различных инструментов, включая командную строку, находятся здесь.

Вам нужно будет запустить сервер гидролокатора. Вы можете скачать его здесь. На Mac вы можете сделать

  1. brew install sonar
  2. sonar console

Команды для Maven, например, являются

  1. mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true
  2. mvn sonar:sonar

Вы можете создать отчет JaCoCo, используя org.jacoco:jacoco-maven-plugin:report мавен гол Например:

pom.xml

...
<profiles>
  <profile>
    <id>jacoco-report</id>
    <build>
      <plugins>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>0.7.5.201505241946</version>
          <executions>
            <execution>
              <goals>
                <goal>prepare-agent</goal>
                <goal>report</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
  </profile>
</profiles>

После mvn -Pjacoco-report clean install плагин jacoco maven создает отчет в target/site/jacoco каталог.

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