Я не углублялся в это, но я предполагаю, что область действия: suite может быть запущена до интерпретации любых тегов. Насколько я могу подумать, вы бы хотели только один: suite в любом случае (хотя я вижу использование в вашем примере). Я думаю, что возможно сделать до: все, что будет делать то же самое, если вы поставите его «достаточно высоко», как, скажем, в вашем spec_helper.rb?
== EDIT ==
Так что я подумал еще об этом, и решение, которое появилось у меня в голове, было примерно таким:
# spec_helper.rb
# run with the tag :selenium => true when you set your env var RUN_SELENIUM like so:
# %> RUN_SELENIUM=1 bundle exec rspec spec/
config.filter_run_excluding :selenium => true if ENV['RUN_SELENIUM'].nil?
# now your before suite hook can be something along the lines of
config.before(:suite) do
if ENV['RUN_SELENIUM'].nil?
## regular awesomeness
else
## magical awesomeness
end
end
Я сделал подобную вещь для обработки тегов при помощи охраннику и сторожевой-спецификации. Конечно, вы можете использовать env var без filter_run_excключения, и это будет то же самое, что и:
%> RUN_SELENIUM = 1 пакет exec rspec --tag селен спецификация /
Добавление конфигурации линии только помогает держать его последовательны.
Надеюсь, это поможет!