← Назад ко всем вопросам

Как формировать и публиковать отчеты автотестов в CI (JUnit/Allure) и где их смотреть?

1️⃣ Как кратко ответить

Для формирования и публикации отчетов автотестов в CI используйте JUnit или Allure. JUnit генерирует XML-отчеты, которые CI-системы, такие как Jenkins, могут автоматически обрабатывать и отображать. Allure предоставляет более детализированные и визуально привлекательные отчеты, которые можно интегрировать в CI/CD пайплайн с помощью плагинов. Отчеты можно просматривать в интерфейсе CI-системы или через веб-интерфейс Allure.

2️⃣ Подробное объяснение темы

Формирование и публикация отчетов автотестов в CI/CD пайплайне — важная часть процесса автоматизированного тестирования, позволяющая команде разработчиков и тестировщиков быстро получать информацию о состоянии тестов и качестве кода.

JUnit

JUnit — это популярный фреймворк для модульного тестирования на языке Java. Он генерирует отчеты в формате XML, которые легко интегрируются с большинством CI-систем.

Пример использования JUnit в CI:

  1. Настройка тестов с JUnit:

    • Напишите тесты с использованием JUnit.
    • Убедитесь, что тесты генерируют XML-отчеты. Это обычно делается автоматически при запуске тестов через Maven или Gradle.
  2. Интеграция с CI-системой:

    • Включите шаг в вашем CI-конфигурационном файле (например, Jenkinsfile) для запуска тестов. Например, для Jenkins:
      stage('Test') {
          steps {
              sh 'mvn test'
          }
          post {
              always {
                  junit '**/target/surefire-reports/*.xml'
              }
          }
      }
      
    • Здесь junit '**/target/surefire-reports/*.xml' указывает Jenkins на местоположение XML-отчетов.
  3. Просмотр отчетов:

    • В интерфейсе Jenkins можно просматривать результаты тестов, включая количество успешных, проваленных и пропущенных тестов.

Allure

Allure — это инструмент для создания более детализированных и визуально привлекательных отчетов о тестировании. Он поддерживает множество языков программирования и фреймворков.

Пример использования Allure в CI:

  1. Настройка тестов с Allure:

    • Установите Allure и добавьте его в зависимости вашего проекта.
    • Аннотируйте тесты, если необходимо, для более детализированных отчетов.
  2. Генерация отчетов:

    • Запустите тесты, чтобы сгенерировать сырые данные отчетов. Например, с использованием Maven:
      mvn clean test
      mvn allure:report
      
  3. Интеграция с CI-системой:

    • Добавьте шаги в CI-конфигурацию для генерации и публикации отчетов. Например, для Jenkins:
      stage('Test') {
          steps {
              sh 'mvn clean test'
          }
          post {
              always {
                  allure includeProperties: false, jdk: '', results: [[path: 'target/allure-results']]
              }
          }
      }
      
    • Здесь allure указывает Jenkins на местоположение сырых данных отчетов.
  4. Просмотр отчетов:

    • Отчеты Allure можно просматривать через веб-интерфейс, предоставляемый плагином Allure для Jenkins, или локально, запустив сервер Allure:
      allure serve target/allure-results
      

Заключение

JUnit и Allure — это мощные инструменты для формирования отчетов о тестировании, которые легко интегрируются в CI/CD пайплайн. JUnit предоставляет базовые отчеты, которые легко обрабатываются CI-системами, в то время как Allure предлагает более детализированные и визуально привлекательные отчеты. Выбор инструмента зависит от потребностей команды и проекта.

Тема: CI/CD
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки