Как сохранить результаты модульного теста в Jenkins - PullRequest
6 голосов
/ 04 августа 2011

Нам удалось сделать так, чтобы Jenkins правильно проанализировал наш вывод XML из наших тестов, а также включил информацию об ошибке, когда она есть. Чтобы можно было видеть непосредственно в TestCase в Jenkins возникшую ошибку.

То, что мы хотели бы сделать, - это чтобы Дженкинс вел вывод журнала, который в основном представляет собой вывод консоли, связанный с каждым случаем. Это позволило бы любому увидеть фактический вывод консоли каждого тестового примера, не пройден или нет.

Я не видел способа сделать это.

* РЕДАКТИРОВАТЬ *

Уточнение. Я хочу видеть фактический результат теста непосредственно в интерфейсе Jenkins, так же, как и при возникновении ошибки, но для всего вывода. Я не хочу, чтобы только Дженкинс сохранил файл как артефакт.

* КОНЕЦ РЕДАКТИРОВАНИЯ *

Кто-нибудь может помочь нам в этом?

Ответы [ 5 ]

6 голосов
/ 07 июля 2015

В отчете о результатах теста JUnit Publish (Действия после сборки) установите флажок Retain long standard output/error.

Если установлен этот флажок, любые стандартные выходные данные или ошибки из набора тестовбудут сохранены в результатах теста после завершения сборки.(Это относится только к дополнительным сообщениям, выводимым на консоль, а не к трассировке стека сбоев.) Такой вывод всегда сохраняется, если тест не пройден, но по умолчанию длительный вывод из прохождения тестов урезается для экономии места.Отметьте эту опцию, если вам нужно видеть каждое сообщение журнала даже при прохождении тестов, но помните, что в результате потребление памяти Jenkins может существенно увеличиться, даже если вы никогда не смотрите на результаты тестов!

enter image description here

1 голос
/ 05 сентября 2011

Не уверен, что вы решили это, но я только что сделал что-то подобное, используя Android и Jenkins.

Я использовал http://code.google.com/p/the-missing-android-xml-junit-test-runner/ для запуска тестов в эмуляторе Android. Это создаст необходимые файлы формата JUnit XML в файловой системе эмулятора.

После этого просто используйте adb pull, чтобы скопировать файл, и настройте Jenkin для анализа результатов. При необходимости вы также можете создать артефакт XML-файлов.

Если вы просто хотите отобразить содержимое результата в журнале, вы можете использовать команду «Выполнить оболочку», чтобы распечатать его на консоли, где оно будет записано в файле журнала.

1 голос
/ 23 мая 2013

Начиная с Jenkins 1.386 было упомянуто изменение, чтобы сохранить длинный стандартный вывод / ошибку в каждой конфигурации сборки.Поэтому вам просто нужно установить флажок в действиях после сборки.

http://hudson -ci.org / changelog.html # v1.386

1 голос
/ 05 августа 2011

Это просто сделать - просто убедитесь, что выходной файл включен в список артефактов для этого задания, и он будет заархивирован в соответствии с конфигурацией для этого задания.

0 голосов
/ 16 февраля 2019

При использовании декларативного конвейера вы можете сделать это так:

junit testResults: '**/build/test-results/*/*.xml', keepLongStdio: true

См. документацию :

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

...