Дженкинс и Юнит - PullRequest
       31

Дженкинс и Юнит

7 голосов
/ 09 января 2012

Я перечитал сайт Jenkins и его плагин JUnit, и по какой-то причине что-то очень простое для меня просто не очевидно.

В Jenkins есть плагин Email-ext для отправки пользовательских / расширенных уведомлений по электронной почте при запуске сборки. В этих сообщениях электронной почты вы можете разместить « токенов содержимого », которые являются переменными времени выполнения, которые заменяются динамическими значениями при создании сообщения электронной почты.

Один из этих токенов - TEST_COUNTS, который позволяет отображать количество выполненных или неудачных тестов JUnit и т. Д.

Как заставить Дженкинса правильно отображать эту информацию? Нужен ли мне плагин, и если да, то какой? Моя сборка работает под управлением JUnit и генерирует отчет XML. Я предполагаю, что Jenkins каким-то образом анализирует результаты JUnit из этого XML и использует его для присвоения значений этому токену.

Но, с другой стороны, я прочитал «литературу» (сообщения в списках рассылки), которая, кажется, подсказывает, что для использования этого токена вам нужно использовать Jenkins для запуска модульных тестов, а не задачу junit Ant из вашего скрипта сборки.

Может ли кто-нибудь уточнить это для меня и, возможно, даже изложить «порядок операций», какие шаги мне нужно предпринять, чтобы иметь возможность использовать этот токен?

Было бы в высшей степени полезно получить количество тестов в наших уведомлениях о сборке.

Ответы [ 2 ]

13 голосов
/ 09 января 2012

Ваше первое объяснение верно. Вы указываете Jenkins, где искать выходные файлы JUnit, и он анализирует их, чтобы узнать результаты теста:

Screenshot of the Jenkins configuration

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

4 голосов
/ 09 января 2012

Добавьте что-то подобное к содержимому в конфигурации «Редактируемое уведомление по электронной почте»:

Total = $TEST_COUNTS
Failed = ${TEST_COUNTS,var="fail"}

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

...