黄瓜场景的清理步骤

时间:2013-02-22 18:46:24

标签: cucumber

有没有办法为Cucumber中的功能定义所有场景的清理步骤?我知道Background用于定义其后的每个场景的设置步骤,但有没有办法在每个场景结束时定义类似的内容?

2 个答案:

答案 0 :(得分:13)

还应该注意到'Before'和'After'是全局钩子,即那些钩子是为你的特征文件中的每个场景运行的

如果您希望仅为几个测试用例运行设置和拆解(按标签分组),那么您需要使用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

答案 1 :(得分:11)

您可以使用在每个方案之后运行的After hook

After do
  ## teardown code
end

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

Before do
  ## setup code
end

Before和After挂钩提供setupteardownTest::Unit的功能,它们通常位于hooks.rb目录中的features/support