2

我有 3 个 Frank/Cucumber 场景,都与登录相关,在不同的环境中:演示、预生产、生产。

我还有一个单独的 Frank/Cucumber 场景用于注销(如果之前的场景成功,则始终相同)。

在每个登录场景之后而不是按顺序调用此注销场景时,我需要做什么?即如何多次调用注销场景?

谢谢你。

4

2 回答 2

2

你看过钩子吗?根据您所说,注销步骤可能是一个钩子,而不是它自己的场景。像这样:

support/hooks.rb:

After do |scenario|
  if(!scenario.failed?)
     ... logout of app ...
  end
end

当然,如果您还想测试注销功能,那么您应该有一个专门测试注销的功能。但是,如果您只是想确保在您的登录功能运行后用户被注销,那么钩子就是要走的路,恕我直言。

编辑:如果您没有在所有场景中登录,您可能也不想在每个场景后注销。这就是标记钩子的用途。

于 2013-09-03T11:15:52.963 回答
1

在我的“登录”/“注销”测试中,我通常有一个大场景,我逐步测试功能,然后在另一个更大的步骤中执行相同的功能,因此我可以轻松地多次使用它。

但是,如果您只在不同的环境中运行相同的测试,也许您应该cucumber使用不同的环境变量再次运行?

于 2013-09-02T09:08:39.937 回答