Почему произошел сбой конвейера при неудачном тестировании - PullRequest
0 голосов
/ 10 июля 2019

Я использую роботизированную конструкцию в Gitlab-CI.

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

сейчас, вот как я запускаю роботизированную рамку на gitlab-ci.yml

- robot --exitonfailure -i "android-test" --outputdir ./output Android/Androidtest.robot


например, у меня есть 3 теста на Androidtest.robot Test Suite:
1. регистр
2. fillin_profile
3. checkout_order

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

это потому что я добавляю --exitonfailure параметр кстати? как решить это?

Ответы [ 2 ]

1 голос
/ 12 июля 2019

Заменить --exitonfailure на --nostatusrc.

Если есть тестовые сбои, робот выйдет с кодом выхода, отличным от 0. Gitlab и, в этом отношении, каждый ci когда-либо проверяет, выполняет ли какая-либо команда с кодом выхода, отличным от 0, и думает, что произошел сбой. С --nostatusrc робот всегда будет выходить с 0, и, таким образом, ваш ci не думает, где сбои.

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

1 голос
/ 10 июля 2019

Смысл CI в том, что тесты не пройдены. Загрузка результатов теста или отчетов не должна быть дополнительной работой в процессе разработки. Я не знаю о роботизированной конструкции, но GitLab поддерживает публикацию артефактов после неудачных тестов.

https://docs.gitlab.com/ee/ci/junit_test_reports.html

...