Вывод результатов тестирования Junit на вкладку тестирования TeamCity

#maven #testing #junit #teamcity #maven-surefire-plugin

#maven #тестирование #junit #teamcity #maven-верный плагин

Вопрос:

У меня есть задание TeamCity, которое будет создавать мой проект с помощью:

  1. Выполняется docker build
  2. В Dockerfile будет выполняться RUN ["mvn", "clean", "package"]

Я использую Maven, JUnit5 и SureFire. Я хочу перенести результаты модульного тестирования на вкладку тестирования TeamCity, но не уверен, как я могу это сделать с моей текущей настройкой.

В моей настройке Jest я использую jest-teamcity-reporter . Единственный плагин JUnit, который я нашел Serenity TeamCity StepListener , но я не могу получить результаты тестирования, отображаемые на вкладке тестирования TeamCity.

Ответ №1:

TeamCity поддерживает тесты JUnit из коробки, когда тип бегуна шага сборки — Maven.

Здесь я вижу два варианта:

  • Вы строите с помощью docker, поэтому выберите опцию для запуска шага сборки в контейнере docker в разделе «Настройки Docker» шага Maven. Затем отчеты о тестировании JUnit будут выбраны автоматически. См. Документацию по настройкам настройки TeamCity.

  • С другой стороны, вы можете запустить сборку как обычно и импортировать отчеты о тестировании, используя функцию обработки отчетов TeamCity в формате XML. Не забудьте смонтировать том контейнера, на котором создаются отчеты о тестировании, в каталог проверки TeamCity. Для этого передайте команде следующую опцию монтирования docker run ... :

    --mount "type=bind,source=$PWD/surefire-reports,destination=/your/container/dir/surefire-reports

Вы можете использовать любой из этих двух вариантов, который вам кажется удобным.