2013-05-14 3 views
17

Я немного поработал с Google Googling в этой области и нашел много дискуссий о том, как заставить Jenkins понять формат вывода XML в формате boost.test, но не каноническую ссылку.Использование Jenkins с модульными тестированиями boost.test

Некоторые люди говорят, что нам просто нужно использовать XLST для преобразования формата XML, другие предлагают, чтобы XML нуждался в хакерстве до этого (Anyone have an XSL to convert Boost.Test XML logs to a presentable format?). Некоторые предполагают, что xUnit плагин can изначально понимать Boost.Test формат XML, другие state it can't

Поскольку мои результаты поиска охватывают 5 лет, я осознаю, что все может измениться. Поэтому я ищу до сегодняшнего дня. ответьте на вопрос о том, как использовать Jenkins для запуска и оценки тестов модульного блока.

+1

AS Я сказал, что актуально здесь ключевое слово ... пожалуйста, не нажимайте кнопку «дубликат» для двухлетнего вопроса, если вы не уверены, что это текущая информация. –

+0

У вас есть _tried_, может ли его использовать синтаксис xUnit? Вы _tried_ использовали xslts из связанного вопроса? –

+0

Едва ли было бы новостью, если бы какой-то старый способ все еще работал, это не значит, что это лучший способ. –

ответ

24

xUnit разбор работает для меня с использованием Jenkins 1.498, xUnit 1.52, boost 1.42. У меня есть новый проект, использующий boost 1.53, и формат вывода XML, похоже, одинаковый для моего гласа, подверженного всему человеческому риску, но поскольку я еще не установил модульные тесты в Jenkins, я не 100 % уверен, что выход совместим.

Как рекомендовано в xUnit plugin comments, я бегу тестовую программу Boost, с:

run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no 

У меня есть после сборки шаг XUnit сконфигурирован для разбора results.xml с форматом BoostTest-1.x.

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

+0

Блестящий - все дело в параметрах, переданных на тест .EXE. Работает красиво. –

+0

вы также должны добавить '--result_code = no'. см. @ Ответ Антония –

+0

Это уже не лучший ответ, он больше не работал, когда я только что тестировал.Просто зайдите с '--log_format = JUNIT', который поддерживается сейчас. – Freitags

2
run_test --log_format=XML --log_sink=results.xml --log_level=all --report_level=no --result_code=no 

Я добавил параметр ответ Дэйва BACHER, потому что, по-видимому Повысьте тест использует ненулевой код выхода для индикации неисправности теста, но Дженкинс интерпретировал это как более фундаментальный провал, и, таким образом останавливая без обработки результаты испытаний.

exit 201 
Build step 'Execute Windows batch command' marked build as failure` 
+0

Вы должны написать комментарий к Dave Bacher вместо того, чтобы создавать новый ответ. –

+1

Это тоже было бы моим преимуществом, если бы у меня были соответствующие комментарии. – Antony

0

Хорошо, обычно он работает с этими параметрами. Но если вы используете его в больших проектах и ​​XML-файл становится слишком большим, плагин XUnit больше не работает. Так что мне пришлось изменить log_level на test_suite. Только ошибки регистрируются, успешные проверки не регистрируются.

Смежные вопросы