3

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

我会很感激任何帮助。

4

1 回答 1

3

由于 rspec 没有scenario方法,我猜你正在使用capybarasteak并且它实际上只是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

于 2011-06-13T00:51:02.643 回答