Есть ли способ инициализировать тайм-ауты cucmber.wire из командной строки?
У меня есть длительный сценарий с использованием огурца-cpp, который занимает около 5 минут. Когда я запускаю сценарий с файлом огурца.wire по умолчанию, сгенерированным
cucumber --init
командой создается следующий файл:
host: localhost
port: 3902
С этой конфигурацией я получаю следующую ошибку после завершения сценария:
Timed out calling wire server with message 'invoke' (Timeout::Error)
./features/some-long-running-scenario.feature:13:in `Then result1.'
./features/some-long-running-scenario.feature:9:in `Then result1.'
Timed out calling wire server with message 'end_scenario' (Timeout::Error)
Я обнаружил, что мне нужно увеличить время ожидания проводного протокола, чтобы сценарий прошел. Я обновил файл cucumber.wire, чтобы он имел содержимое, как показано ниже.
host: localhost
port: 3902
timeout:
connect: 11
invoke: 600
begin_scenario: 120
end_scenario: 120
Есть ли способ установить и изменить эти значения времени ожидания из командной строки?
1 ответ
Похоже, это можно установить с помощью переменных среды: https://github.com/cucumber/cucumber-ruby-wire#yaml-with-erb-templating .
host: localhost
port: 54321
timeout:
connect: <%= (ENV['MY_CONNECT_TIMEOUT'] || 11).to_i %>
invoke: 120
begin_scenario: 120
end_scenario: 120