16

有没有办法为 Cucumber 中的某个功能定义所有场景的清理步骤?我知道这Background是用来定义它后面的每个场景的设置步骤,但是有没有办法定义在每个场景结束时发生的类似事情?

4

2 回答 2

17

还应该注意“之前”和“之后”是全局挂钩,即这些挂钩针对功能文件中的每个场景运行

如果您希望只为几个测试用例(按标签分组)运行设置和拆卸,那么您需要使用 taggedHooks,其中语法为

Before('@cucumis, @sativus') do
# This will only run before scenarios tagged
# with @cucumis OR @sativus.
end


AfterStep('@cucumis', '@sativus') do
# This will only run after steps within scenarios tagged
# with @cucumis AND @sativus.
end

欲了解更多信息:https ://github.com/cucumber/cucumber/wiki/Hooks

于 2013-08-27T15:30:55.340 回答
13

您可以使用在每个场景之后运行的 After挂钩

After do
  ## teardown code
end

还有一个 Before 挂钩,可让您在场景之前设置状态和/或测试数据:

Before do
  ## setup code
end

Before 和 After 钩子提供setupteardownfrom的功能Test::Unit,它们通常位于目录中hooks.rbfeatures/support

于 2013-02-22T19:14:51.057 回答