Есть ли способ инициализировать тайм-ауты 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
Другие вопросы по тегам