Рассмотрим как создавать HTML-отчет для результатов выполнения тестов JUnit. В этом примере я создаю HTML-отчет для проекта JUnit-Examples, представленного на Github.
Это продолжение туториала по JUnit 5. Введение опубликовано здесь.
1. Подключаемый модуль Maven Surefire Report
1.1. Добавить зависимость плагина
Добавьте последнюю версию maven-surefire-report-plugin в раздел отчетов файла pom.xml.
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.2</version>
</plugin>
</plugins>
</reporting>
1.2. Команда по умолчанию
Когда мы запускаем тесты JUnit с плагином Surefire, он генерирует отчеты в текстовом и XML-форматах.
При вызове плагин Surefire Report анализирует сгенерированные target/surefire-reports/TEST-*.xml
файлы и отображает их с помощью DOXIA (структура генерации контента), создавая HTML-версию результатов тестирования для отображения.
Обратите внимание, что по умолчанию плагин не привязан ни к одной из основных фаз, которые мы обычно вызываем с помощью команды mvn
. Поэтому мы должны вызвать его прямо из командной строки:
mvn surefire-report:report
Если мы откроем сгенерированный HTML-отчет, он будет выглядеть примерно так.
2. Параметры конфигурации
2.1. Отображение только неудачных тестов
По умолчанию плагин Surefire Report показывает в сгенерированном отчете HTML все удачные и неудачные результаты тестирования. Чтобы отображались только неудачные тесты, свойство showSuccess
должно быть установлено в false
.
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<showSuccess>false</showSuccess>
</configuration>
</plugin>
</plugins>
</reporting>
2.2. Настраиваемое имя отчета
Чтобы задать пользовательское имя файла для сгенерированного HTML отчета, для свойства outputName
должно быть установлено нужное имя.
После запуска mvn
сгенерированный файл отчета называется JUnit-Examples-Test-Report.html.
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<outputName>JUnit-Examples-Test-Report</outputName>
</configuration>
</plugin>
</plugins>
</reporting>
2.3. Ссылки на исходный код для неудачных тестов
Для неудачных тестов мы можем сообщить номер строки, в которой они были неудачными. Это можно сделать с помощью плагина maven-jxr-plugin
.
Добавьте этот плагин в раздел отчетов файла pom.xml
для сообщения номеров строк.
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<outputName>JUnit-Examples-Test-Report</outputName>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>3.1.1</version>
</plugin>
</plugins>
</reporting>
Хорошего изучения!!!