问题描述
|
我有一个rspec场景,如下所示:
scenario \"some description of the scenario\",:js => true,:slow => true,:wip => true do
sleep 60
...
但是我想根据场景所标记的内容有条件地调用“ 1”,例如:
scenario \"some description of the scenario\",:wip => true do
sleep 60 if tags[:slow] && !tags[:wip]
...
我将不胜感激。
解决方法
由于rspec没有
scenario
方法,因此我猜您正在使用水豚或牛排,而它实际上只是it
的别名。在这种情况下,rspec在内部将此代码块称为\“ example \\”,您可以像这样访问元数据:
sleep 60 if example.metadata[:slow] # sleep if example is tagged with :slow => true
您还可以将元数据放在示例组中,即包含各个示例的“ 6”块。看到这个:http://relishapp.com/rspec/rspec-core/v/2-6/dir/metadata/user-defined-metadata