如何在运行Cucumber中的所有功能文件之前添加Ruby代码?我试图直接在功能文件中这样做(如ap 'hi'
),但Cucumber似乎忽略了这一点,只是继续执行场景。
如果你想让代码在所有特性/场景运行之前执行,你可以使用AfterConfiguration钩子
AfterConfiguration do
#code you want ran
end
这个钩子只执行一次,并且在黄瓜完成环境设置之后。
如果你想让代码在所有场景之前运行,你可以使用before钩子
Before do
#code you want ran
#end
如果你想让代码只在某些情况下运行,你可以利用钩子的标签功能/过滤
@my_scenario
Scenario: This is my scenario
Scenario: This is not my scenario
与钩子
Before('@my_scenario') do
#code you want ran
end
上面的钩子只会在"This is my scenario"的情况下运行。