Rspec: как я могу получить доступ к тому, что сценарий помечен в сценарии? - PullRequest
2 голосов
/ 12 июня 2011

У меня есть сценарий 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]
      ...

Буду признателен за любую помощь.

1 Ответ

3 голосов
/ 13 июня 2011

Поскольку в rspec нет метода scenario, я предполагаю, что вы используете капибара или стейк и что это действительно просто псевдоним для 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

...