#maven #testing #junit #teamcity #maven-surefire-plugin
#maven #тестирование #junit #teamcity #maven-верный плагин
Вопрос:
У меня есть задание TeamCity, которое будет создавать мой проект с помощью:
- Выполняется
docker build
- В 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
Вы можете использовать любой из этих двух вариантов, который вам кажется удобным.