Транспортир - повторите тест, если он не пройден

Я использую сценарий оболочки для запуска тестов транспортира. Я хочу убедиться, что если тест завершится неудачно (код выхода != 0), он будет запущен снова - чаще всего в три раза. Я уже использую Teamcity, но Teamcity отправляет электронное письмо «FAIL» и только потом пытается снова. Я хочу, чтобы тест запускался три раза перед отправкой сообщения. это часть моего скрипта:

if [ "$#" -eq 0 ];
then
/usr/local/bin/protractor proactor-config.js --suite=sanity

теперь я хочу как-то проверить, был ли код выхода 0 или нет - запустить еще раз. Спасибо.


person user2880391    schedule 26.10.2015    source источник


Ответы (2)


Для этого я написал небольшой модуль под названием protractor flake. Его можно использовать через cli

# defaults to 3 attempts
protractor-flake -- protractor.conf.js

Или программно.

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

Существует давний запрос функции для этого в очереди задач транспортира. Вероятно, это не будет встроено в ядро ​​​​фреймворка.

person Nick Tomlin    schedule 26.10.2015
comment
спасибо, я попробую и дам вам знать, как это сработало. - person user2880391; 26.10.2015

функция проверки состояния

function test {
    "$@"
    local status=$?
    if [ $status -ne 0 ]; then
        echo "error with $1" >&2
    fi
    return $status
}

test command1
test command2
person Noproblem    schedule 26.10.2015