Cucumber 4 jvm повторно запустил тесты в jenkins с помощью команды shell - PullRequest
1 голос
/ 29 мая 2019

Я добавил команду выполнения в свою команду оболочки jenkins:

cd apitests && ./gradlew cucumber -Pthreads=${THREADS} -Ptags="not @notReady" && [ -s rerun/failed_scenarios.txt ] && ./gradlew cucumber -PfeaturePath='@rerun/failed_scenarios.txt' -Pthreads=80 || echo "File empty"

В Gradle я добавил задачу с параметрами огурца, которые я установил для сохранения неудачного теста в файл:

cucumber {
    threads = 50
    glue = 'classpath:com.sixtleasing.cucumber.steps'
    plugin = ["pretty", "html:target/zucchini", "json:target/zucchini.json", "rerun:rerun/failed_scenarios.txt"] 
    (...)
}

Все работаеткогда все тесты зеленые.Проблема начинается при сбое одного из тестов.В таком случае я вижу в консоли:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':cucumber'.
> java.lang.RuntimeException: The execution failed

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

почему?Если я запускаю команды отдельно, это работает, но в jenkins как одна команда оболочки это не

1 Ответ

0 голосов
/ 29 мая 2019

Если первый вызов gradle с огурцом не удался, то ничего справа от && не выполняется. Это связано с тем, что код возврата процесса gradlew не равен нулю при сбое сборки.

Дайте попробовать:

cd apitests && ./gradlew cucumber -Pthreads=${THREADS} -Ptags="not @notReady" || ( [ -s rerun/failed_scenarios.txt ] && ./gradlew cucumber -PfeaturePath='@rerun/failed_scenarios.txt' -Pthreads=80 || echo "File empty" )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...