我有一个类似的rspec场景:
scenario "some description of the scenario", :js => true, :slow => true, :wip => true do
sleep 60
...
但我想根据情景标记的内容有条件地致电sleep
,例如:
scenario "some description of the scenario", :js => true, :slow => true, :wip => true do
sleep 60 if tags[:slow] && !tags[:wip]
...
我很感激任何帮助。
答案 0 :(得分:3)
由于rspec没有scenario
方法,我猜你正在使用capybara或steak,而且它实际上只是it
的别名。在这种情况下,rspec在内部将此代码块称为“示例”,您可以像这样访问元数据:
sleep 60 if example.metadata[:slow] # sleep if example is tagged with :slow => true
您还可以将元数据放在示例组中,即包含各种示例的describe
块。请参阅:http://relishapp.com/rspec/rspec-core/v/2-6/dir/metadata/user-defined-metadata