четверг, 31 января 2019 г.

Настройка JaCoCo plugin в Maven проекте для анализа покрытия тестами

В этой статье я бы хотел написать, как можно настроить библиотеку JaCoCo для анализа покрытия кода (code coverage) юнит тестами в Maven проекте.

Добавить библиотеку в проект, чтобы она автоматически выполнила анализ покрытия кода при выполнении юнит тестов и сохранила результаты в бинарном формате, крайне просто. Необходимо добавить в секцию <build> -> <plugins> плагин jacoco-maven-plugin с целью prepare-agent.
    
   <plugin>
      <groupid>org.jacoco</groupid>
      <artifactid>jacoco-maven-plugin</artifactid>
      <version>0.8.2</version>
      <executions>
        <execution>
          <id>jacoco-prepare-agent</id>
          <goals>
           <goal>prepare-agent</goal>
          </goals>
        </execution>
      </executions>
    </plugin>

Параметры задаются в секции configuration внутри секции execution. Полный список параметров и значения их по умолчанию можно прочитать здесь .

С параметрами по умолчанию данный плагин после завершения сборки проекта и выполнения тестов сгенерирует отчет в бинарном формате по пути ${project.build.directory}/jacoco.exec.

Этот отчет можно открыть в IDE, например, как описано в конце этой статьи. Либо использовать плагин для отображения отчета в среде где происходит автоматическое выполнение тестов (в Jenkins, например).

Если же требуется чтобы библиотека сгенерировала отчет в читаемом для человека html формате, в конфигурацию плагина следует дополнительно добавить дополнительно execution с целью report.
    <plugin>
      <groupid>org.jacoco</groupid>
      <artifactid>jacoco-maven-plugin</artifactid>
      <version>0.8.2</version>
      <executions>
        <execution>
          <id>jacoco-prepare-agent</id>
          <goals>
           <goal>prepare-agent</goal>
          </goals>
        </execution>
        <execution>
          <id>report</id>
          <phase>prepare-package</phase>
          <goals>
            <goal>report</goal>
          </goals>
        </execution>
      </executions>
    </plugin>

Список возможных параметров для цели report можно посмотреть здесь

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

Комментариев нет:

Отправить комментарий

Ярлыки

java (31) оптимизация (7) CPanel (5) svn (5) windows xp (5) ошибка (5) свой сервер (5) файлы и папки (5) gui (4) регулярные выражения (4) jacoco (3) redmine (3) windows (3) автоматизация (3) защита данных (3) резервное копирование (3) сервер (3) JavaScript (2) Oracle SQL (2) adsl модем (2) apache maven (2) apache tomcat (2) coverage (2) dropbox (2) excel (2) firewall (2) netbeans (2) office 2007 (2) samsung (2) system tray (системный трей) (2) xerox (2) вирусы (2) принтер (2) сериализация (2) удаленный рабочий стол (2) HTML (1) JFileChooser (1) MySQL (1) Nokia (1) Ovi (1) P660R-T1 (1) WakeOnLan (1) blogger.com (1) ctfmon.exe (1) email (1) flash память (1) ftp (1) integration testing (1) ip (1) jQuery (1) jvisualWm (1) log4j (1) look and feel (1) myBatis (1) php (1) serialVersionUID (1) skype (1) smtp (1) ssh (1) swing (1) torrents (1) unit-testing (1) unix (1) vpn (1) windows 7 (1) xStarter (1) zip (1) безопасность (1) вход в систему (1) дизайн (1) документация (1) заправка (1) интернет (1) логирование (1) мышь (1) патч (1) перенос (1) печать (1) плагины (1) почтовые сообщения (1) программирование (1) процессы (1) прошивка (1) сеть (1) сеть. ошибка (1) скрытые файлы (1) списки (1) фильтрация (1) фокус (1) часовые пояса (1) шифрование (1) экран (1)