Ruby on rails 从一步到另一步,菠菜

Ruby on rails 从一步到另一步,菠菜,ruby-on-rails,gherkin,spinach,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 ... 找到了要作为参数发送的Step对象,但没有任何运气。如何从另一个步骤中执行步骤?非常感谢您的帮助。执行是一种

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

我记得,这一步骤类似于以下步骤:

...
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
...

找到了要作为参数发送的Step对象,但没有任何运气。如何从另一个步骤中执行步骤?非常感谢您的帮助。

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

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

来源:

可以在ObjectSpace中找到所需的步骤,但spinach无疑提供了一种更直接的调用和执行步骤的方法。