从另一个菠菜中调出一步

时间:2013-01-16 21:47:47

标签: ruby-on-rails gherkin spinach

我记得有一种方法可以使用菠菜在另一个步骤中执行步骤。

我记得,这一步骤似乎如下:

...
step "I create a patient as a facility's administrator" do
  %Q{ Given I am a facility's administrator }
  %Q{ Given I create a patient }
end
...

找到.execute(step)但是没有幸运获得Step对象作为参数发送。如何从另一个步骤中执行步骤?感谢帮助。

1 个答案:

答案 0 :(得分:1)

execute是一种不应在功能中使用的内部方法。如果你想从另一个步骤执行一个步骤,你必须强调它。菠菜维护者建议在“我是设施管理员”和“我创建病人”步骤中提取逻辑到另一个方法,并从其他步骤调用这个方法。

step "I create a patient as a facility's administrator" do
  log_as_facility_admin
  create_patient
end

def log_as_facility_admin
  # something
end

def create_patient
  # something
end

来源:https://github.com/codegram/spinach/issues/132