Рассмотрим как создавать 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>

Хорошего изучения!!!

Комментарии (2)


  1. LeshaRB
    19.11.2021 14:15

    Это будет перевод всех статей цикла Junit5 - https://howtodoinjava.com/junit5/ или просто одна?

    Если просто одна, то возникает вопрос - для чего?


    1. val6852 Автор
      19.11.2021 16:06
      +2

      Не хотелось бы работать на корзину.

      Да и хейтеры напишут: "Сколько можно про...?"

      Если это нужно и кому-то интересно могу сделать перевод цикла.

      А эту статью выдернул на пробу, предварительно проверив, что про это на Хабре нет заметок.