有没有办法为Cucumber中的功能定义所有场景的清理步骤?我知道Background
用于定义其后的每个场景的设置步骤,但有没有办法在每个场景结束时定义类似的内容?
答案 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
答案 1 :(得分:11)
您可以使用在每个方案之后运行的After hook:
After do
## teardown code
end
还有一个Before钩子,允许您在场景之前设置状态和/或测试数据:
Before do
## setup code
end
Before和After挂钩提供setup
中teardown
和Test::Unit
的功能,它们通常位于hooks.rb
目录中的features/support
。