Можно ли настроить Karma или Grunt так, чтобы они не выходили с кодом 1, когда тесты на Jenkins не работают?

Мы проводим модульные и приемочные (e2e) тесты на Jenkins, используя Karma и Grunt. Karma создает отчеты JUnit, используя karma-junit-reporter, и мы настроили Jenkins, чтобы установить сборку как нестабильную (желтую), если в этих файлах отчетов обнаружены сбои тестов.

Проблема в том, что всякий раз, когда тест терпит неудачу, Karma и Grunt завершают работу с ненулевым кодом выхода, и это делает сборку неудачной (красный). Можно ли изменить это поведение?

Я бы предпочел не запускать Grunt с --force, потому что мне все еще нужна неудачная сборка, когда тесты не могут быть выполнены или когда другие задачи терпят неудачу.


person David Pärsson    schedule 05.02.2015    source источник


Ответы (1)


Похоже, это общая проблема многих тестировщиков. Я сам выполняю свои тесты следующим образом:

test-runner || true

Это означает, что код выхода test-runner полностью игнорируется. Если есть проблема с test-runner и он вообще не запускается, он, вероятно, также не создает xml-файлы результатов теста, что приведет к сбою сборки, потому что Jenkins хочет найти хотя бы один файл результатов теста.

person sti    schedule 07.02.2015
comment
Спасибо за ваш ответ, но, вероятно, он недостаточно хорош для меня. Недавно я видел случаи, когда неработающий тест приводил к отключению браузера. Однако отчеты об испытаниях были подготовлены для завершенных испытаний. Это приведет к ложной стабильной сборке. - person David Pärsson; 09.02.2015