我想修改黄瓜,以便当一个给定的功能正在执行(说“login.feature”)我只想要加载login_steps.rb网页步骤。其他步骤文件不应加载。如何使黄瓜的步骤定义根据正在执行的功能文件加载
IMO这将是非常有用的具有相同的步骤,但实施工作相应地从正在执行的功能的名称不同。
由于我有几乎100个场景,我宁愿如果步骤是高层次的步骤,这是有道理的。
任何想法?
我想修改黄瓜,以便当一个给定的功能正在执行(说“login.feature”)我只想要加载login_steps.rb网页步骤。其他步骤文件不应加载。如何使黄瓜的步骤定义根据正在执行的功能文件加载
IMO这将是非常有用的具有相同的步骤,但实施工作相应地从正在执行的功能的名称不同。
由于我有几乎100个场景,我宁愿如果步骤是高层次的步骤,这是有道理的。
任何想法?
当前,要做到这一点的唯一方法(短修补黄瓜本身)是把每个功能到一个单独的目录树中有自己的env.rb文件和目录step_definitions。
请参阅邮件列表上的this post了解更多详情。
您可以使用Cellophane宝石来实现类似的效果。它支持嵌套的步骤定义,您可以关闭查找共享步骤。我不确定这会让你一路走到你想要的地方,但是我发现如果玻璃纸可以被修改以获得你想要的东西,那么开发者会非常敏感。
这是给你的示例代码,
.feature文件
Scenario: Some description of the scenario
Given [some context]
When [some event]
Then [outcome]
.RB(红宝石步骤定义)
Given /^[some context]$/ do
// code module
// code module
end
[some context]
来在功能文件中。说,
Given [some context]
When [some context]
Then [some context]
And [some context]
将在相同的操作来进行。即给定,当,然后和和是通用的。