В своем посте о JaCoCo и Maven я писал о проблемах использования плагина JaCoCo Maven в многомодульных проектах Maven из-за наличия одного отчета для каждого модуля отдельно вместо одного отчета для всех модулей, а также о том, как его можно исправить с помощью JaCoCo Ant Task .
В этой статье мы увидим, как использовать плагин JaCoCo Jenkins для достижения той же цели Ant Ant Tasks и получения общей статистики покрытия кода для всех модулей.
Первый шаг — установка плагина JaCoCo Jenkins .
Перейдите в Jenkins -> Управление Jenkins -> Менеджер плагинов -> Доступно и найдите плагин JaCoCo
Следующим шагом, если это еще не сделано, является настройка вашего плагина JaCoCo Maven в родительский pom :
<build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>${jacoco.version}</version> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
И, наконец, пост-действие должно быть настроено на работу, ответственную за упаковку приложения. Обратите внимание, что в предыдущих файлах pom отчеты генерируются непосредственно перед выполнением цели пакета .
Перейдите в Configure -> Действия после сборки -> Добавить действие после сборки -> Записать отчет о покрытии JaCoCo .
Затем мы должны установить папки или файлы, содержащие XML- отчеты JaCoCo , которые используют предыдущий pom для ** / target / site / jacoco / jacoco * .xml , а также установить, когда мы считаем, что сборка работоспособна с точки зрения охвата.
Затем мы можем сохранить конфигурацию задания и запустить проект сборки.
После того, как проект будет собран, под графиком тренда результатов теста появится новый отчет , который называется трендом покрытия кода , где мы можем увидеть охват кода всеми модулями проекта.
В левом меню вы можете войти в Отчет о покрытии и увидеть покрытие кода каждого модуля в отдельности.
Кроме того, посещение главной страницы Jenkins даст вам хороший краткий обзор работы, когда вы наводите курсор мыши на иконку погоды, как показано на рисунке:
Имейте в виду, что этот подход к объединению файлов покрытия кода будет работать, только если вы используете Jenkins в качестве системы CI . Ant Task является более общим решением и может также использоваться с плагином JaCoCo Jenkins .
Мы продолжаем учиться,
Алекс.