3

我有一些 Cucumber 场景,为此我创建了以下文件:

  • create_extended_search.feature
  • activate_extended_search.feature
  • edit_extended_search.feature
  • delete_extended_search.feature

在这些文件中,我有几个场景。

其中三个文件使用相同的背景,如果能够将其放在一个文件中(例如support/backgrounds.rb),然后从功能文件中引用它,那就太好了。

这有可能吗?谢谢。

4

2 回答 2

2

我相信您必须创建一个由当前背景中的步骤组成的步骤。然后在后台为每个功能调用该步骤。

于 2012-07-16T18:08:50.560 回答
1

Cucumber 中没有“包含”功能文件的概念。正如贾斯汀指出的那样,您可以创建一个代表您想要作为背景的步骤,并在适当的地方调用它。另一种方法是使用 Before 挂钩在您使用特定标签标记的场景之前执行某些任务。

就个人而言,我会将此问题视为一个危险信号,并开始询问我的功能文件是否以最佳方式拆分。通常,如果我发现自己无法包含其他功能文件,或者相反,希望我可以从运行我的背景中排除某些场景,这是一个非常强烈的迹象,表明我的功能文件切得太细了,或者我正在尝试补习不相关的功能在一起,需要进一步拆分。

于 2012-07-16T21:05:29.183 回答