Combining RSpec filters?

I looked through the documents, but the description of how several filters work is a bit lacking. Does anyone have a good explanation or source of a good explanation for the behavior of multiple filters? Is there an order in which they are listed? Here is an example of code that might have behavior different from what you might expect ...

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 

Experimenting with this, it also looks like a few arguments in a simple line "filter_run_excluding" if you wrote the line several times. Is there a way to get it to actually combine filter checks to exclude (or run, I suppose) only examples that have both tags that are listed?

+7
source share
1 answer

Run some filters from the command line with this:

 rspec spec --tag my_tag --tag my_second_tag -- tag ~my_third_tag 

~ will exclude any specification with these tags, so it is often useful to do something like

 rspec spec --tag ~long_runing 
+3
source

All Articles