Может ли Cucumber запрашивать ввод? - PullRequest
1 голос
/ 24 ноября 2011

Можно ли запрашивать ввод у пользователя при запуске функции Cucumber?

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

Мой первоначальный план состоял в том, чтобы просто попросить пользователя ввести имя пользователя и пароль для использования во время теста, но Cucumber не кажетсяМне нравится делать это в определении шага.

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

Ответы [ 2 ]

2 голосов
/ 24 ноября 2011

Я не уверен насчет использования mocks, но похоже, что если вам нужна специфичная для среды учетная запись пользователя для тестирования, вы должны использовать переменные среды:

$ SOME_USERNAME=foo SOME_PASSWORD=bar rake test:features

Тогда в вашем коде:

foo = MyAwesomeFooClass.new(ENV["SOME_USERNAME"], ENV["SOME_PASSWORD"])

Редактировать: Теперь, когда я думаю об этом, вы почти наверняка не должны использовать настоящий API из своих тестов.

0 голосов
/ 24 ноября 2011

Я хотел бы рассмотреть возможность использования гема VCR для записи взаимодействия с внешней службой и воспроизведения его для последующих тестовых прогонов:

https://www.relishapp.com/myronmarston/vcr

...