Это продолжение туториала по JUnit 5. Введение опубликовано здесь. Научитесь создавать отчеты о покрытии кода для тестов JUnit с помощью подключаемого модуля JaCoCo Maven. Оглавление Плагин JaCoCo Maven Библиотека JaCoCo Конфигурация JaCoCo Как создать отчет о покрытии кода Как улучшить процент покрытия кода Часто задаваемые вопросы Настройка папки назначения отчета Запуск JaCoCo в Eclipse Вывод JaCoCo - это библиотека покрытия кода, разработанная командой EclEmma. JaCoCo встраивает агент среды выполнения в JVM, который сканирует пути, пройденные кодом автоматизированных тестов, и создает отчет для этих путей. Мы можем импортировать отчет JaCoCo в другие более полные инструменты обеспечения качества кода DevOps, такие, как SonarQube и Jenkins. Эти интеграции помогают сделать весь процесс обеспечения качества кода более измеримым и прозрачным для команд разработчиков. Для интеграции с тестами JUnit отличным вариантом является использование maven плагина для JaCoCo. Проверьте последнюю версию по этой ссылке. Данный фрагмент кода взят из рабочей конфигурации для примеров проекта JUnit5. pom.xml Обратите внимание, что цель перед выполнением default-prepare-agent подготавливает агента к настройке и добавлению в командную строку. Этот агент выполняет анализ кода для целей отчетности. Цель после выполнения default-report гарантирует, что отчеты будут созданы в выходной папке. Ранее инициализированный агент собирает информацию о тестовом покрытии при запуске тестов и создает отчет. Наконец, созданное изменение командной строки должно быть вставлено в параметр, maven-surefire-plugin как показано в configuration/argLine. Примечание Невыполнение этих шагов приведет к ошибке «Skipping JaCoCo execution due to missing execution data file». Обратитесь к странице параметров проверки JaCoCo, чтобы убедиться, что показатели покрытия кода соблюдаются. Запустите команду mvn package. Команда package вызовет фазу test во время упаковки проекта в jarили warфайл. В фазе test агент JaCoCo инициализирует и запускает анализ покрытия кода во время выполнения тестов. Прочтите документацию JaCoCo для получения более подробной информации о том, как работает jacoco. Команда пакета Maven Обратите внимание на сообщения в выводе на консоль, связанные с покрытием и циклометрической сложностью. Вывод на Консоль Теперь мы можем проверить папку target в каталоге сборки проекта. Теперь перейдите в папку target/site. Папка jacoco находится там. В ней содержится отчет об анализе покрытия кода. Теперь откройте файл 'target\site\jacoco\index.html' в браузере. Вы должны увидеть аналогичный отчет в браузере. Очевидно, что количество успехов и неудач будет зависеть от конкретного проекта. Для достижения лучшего покрытия кода необходимо ввести больше тестов, которые тестируют код, не охваченный ранее с помощью предыдущих реализаций тестов. Чтобы продемонстрировать это, давайте добавим больше тестов в наш файл AppTest.java.  Раньше у нас была только один тест работы add(). Покрытие нашего кода составляло 25%. Добавим еще два теста. Вновь добавленные тесты должны довести процент покрытия кода до 75%. AppTest.java Теперь еще раз проверьте отчет о покрытии. В отчете также показано, какие методы были выполнены, а какие были пропущены или выполнены частично. Щелкните на имена классов, чтобы узнать, какие строки являются частью плана выполнения теста и по-прежнему не выполняются. Используйте свойство 'configuration\outputDirectory' maven цели report⁣, чтобы настроить пользовательскую папку назначения для сгенерированного отчета JaCoCo. Отчет по умолчанию создается в папке 'target/jscoco/site/'. Лучший способ интегрировать JaCoCo с Eclipse - это использовать Eclipse плагин EclEmma. Вышеупомянутая ссылка содержит самую последнюю информацию для выполнения анализа покрытия кода с помощью JaCoCo в Eclipse IDE. В этом руководстве по JaCoCo мы научились настраивать jacoco-maven-plugin в коде приложения и запускать отчет об анализе покрытия кода. Мы также научились интерпретировать отчет и улучшить процент покрытия, добавив больше тестов. Мы узнали об интеграции JaCoCo в eclipse IDE и других параметрах конфигурации, чтобы проверить соответствие метрики покрытия кода. Хорошего изучения!!!