Объединение фильтров RSpec?

Я просматривал документы, но описания того, как работают несколько фильтров, похоже, немного не хватает. Есть ли у кого-нибудь хорошее объяснение или источник хорошего объяснения поведения нескольких фильтров? Имеет ли значение порядок, в котором они перечислены? Вот пример кода, который может вести себя не так, как можно было бы ожидать ...

Rspec.configure do |c|
  this_version = get_version_number.to_sym
  c.filter_run :focus=> true
  c.filter_run_excluding :limit_to=>true, this_version => false
  c.filter_run :new_stuff=>true
  c.run_all_when_everything_filtered
end

it "is focused, but not new", :focus
it "is is new", :new_stuff
it "is new and focused", :new_stuff, :focus
it "is focused and new, but limited to a different version", :focus, :limit_to, :correct_version

Поэкспериментируя с этим, также кажется, что несколько аргументов в строке «filter_run_excluding» просто действуют, если вы написали строку несколько раз. Есть ли способ заставить его фактически объединить проверки фильтров, чтобы исключить (или запустить, я полагаю) только примеры, в которых указаны оба тега?

7
задан GlyphGryph 2 December 2011 в 19:26
поделиться