2013-01-16 29 views
0

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

我记得,这样的步骤会出现类似以下内容:

... 
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)但还没有任何运气得到在步骤对象发送作为参数。我如何从另一个步骤执行步骤?帮助表示赞赏。

+0

可以找到对象空间所需的步骤,但菠菜确实提供了一个更直接的方式来调用和执行的一个步骤。 – rthbound

回答

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