У меня есть приложение, использующее сторонний API под названием PSC
, но я хочу изолировать свои тесты на огурце от вызовов API в PSC.
Итак, я написал пару огуречных шагов:
When /^we pretend that PSC is up$/ do
PscV1.default_psc_connection("test user").stub!(:default_connection_is_up?).and_return(true)
end
When /^we pretend like PSC assignments exist for all subjects$/ do
PscV1.default_psc_connection("test user").stub!(:assignment_exists?).and_return(true)
end
... и что эти заглушки должны делать, так это заставить сценарий Cucumber думать, что вызовы API работают. Однако кажется, что заглушки не сохраняются между шагами, поэтому дальнейшие шаги в моем сценарии не получают заглушенных возвращаемых значений, они пытаются выполнить фактический вызов API и, следовательно, терпят неудачу.
Есть ли способ заставить заглушки сохраняться, по крайней мере, в течение всего сценария? Я успешно использовал заглушки в других тестах Cucumber, поэтому я знаю, что они работают в целом, но это первый раз, когда я написал шаг Cucumber, вся цель которого - предоставить заглушку.