Rspec:如何访问场景中标记有场景的内容?

问题描述

| 我有一个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