黄瓜 - 运行场景只有一次

时间:2016-01-27 15:47:14

标签: ruby-on-rails cucumber

我正在寻找以下方案的解决方案。 我正在为Ruby on Rails应用程序编写cucumber-capybara测试。

我有多个黄瓜特征文件,有几个场景(比如场景B ...... Z),它们取决于一个特定场景(比如场景A)。我想对所有依赖它的场景只运行一次场景。 因此,如果我运行场景(B .... Z),我只想运行一次依赖场景(A)。我遇到过挂钩黄瓜但它会在每种情况下运行一次。

我有一个功能文件,其中有一个配置服务器的方案。 (情景A)

我有多个其他功能文件和多个场景(场景B..Z),它们将运行测试,假设实际配置了服务器(场景A)

因此,每当有人运行从属方案(方案B..Z)时,它应该检查服务器是否由其他方案配置,然后它不应该尝试配置服务器。因为它会增加服务器的数量。

1 个答案:

答案 0 :(得分:0)

你可以用场景A编写一个特征,然后编写一个Given块,它将设置A场景的初始期望,然后你可以在场景B..Z

之前调用它。

因此,假设方案A要登录,然后编写单个功能进行登录,然后针对方案B到Z,编写一个将用户设置为已登录的给定块,并将其用作:< / p>

Given user is signed in
...

其中Given user is signed in的定义如下:

Given /^user is signed in$/ do
  # code to sign a user in
end