Thanks for the quick answer. I missed "skipping examples" because I was so happy to have found exclusion filters. Sounds like pretty much what I am looking for - even better with the explicit reason I can set for skipping. Will try and report back.
Best, Jan Am Dienstag, 19. Dezember 2017 17:37:56 UTC+1 schrieb Myron Marston: > > RSpec does not provide a way to get the number of examples that were > excluded by its inclusion or exclusion filters, but there’s a different > mechanism that will do what you want. Instead of filtering the examples > (which excludes them from consideration entirely), you can skip them, which > prevents the body of the example from running, sets the example’s status to > :pending, will print the example in yellow in the formatter output, and > will count the example in the summary total printed at the end (e.g. “500 > examples, 0 failures, 20 pending”). Normally, :skip metadata will cause > an example to be skipped > <https://www.google.com/url?q=https%3A%2F%2Frelishapp.com%2Frspec%2Frspec-core%2Fv%2F3-7%2Fdocs%2Fpending-and-skipped-examples%2Fskip-examples%23skipping-using-metadata&sa=D&sntz=1&usg=AFQjCNH2bA7au32CPocvg1H0M1Vzmcf5IQ>, > > but you’ve overwritten it to cause :skip to cause examples to be filtered > out. > > Here’s my suggestion for how to wire this up. > > First, tag any examples that depend upon xcode with :uses_xcode (rather > than :skip), e.g.: > > it "uses a feature of xcode", :xcode do > # ...end > > it "does not use xcode at all" do > # ...end > > Then use define_derived_metadata to automatically tag these examples with > :skip if you are not running on OS X: > > # spec_helper.rbrequire 'rbconfig' > RSpec.configure do |config| > unless RbConfig::CONFIG['host_os'] =~ /darwin/ > config.define_derived_metadata(:xcode) do |meta| > meta[:skip] = "Can only be run on OS X" > end > endend > > The “Can only be run on OS X” bit will be printed in the output as the > reason the examples are pending. > > HTH, > Myron > > > > On Tue, Dec 19, 2017 at 3:06 AM, Jan P. <[email protected] <javascript:>> > wrote: > >> RSpec has this nice method to exclude individual tests/examples or whole >> groups by using filter_run_excluding in the config, then tagging the >> examples: >> >> >> https://relishapp.com/rspec/rspec-core/v/3-7/docs/filtering/exclusion-filters >> >> RSpec.configure do |c| >> c.filter_run_excluding :skip => trueend >> RSpec.describe "something" do >> it "does one thing" do >> end >> >> it "does another thing", :skip => true do >> endend >> >> "does one thing" will be checked, >> "does another thing" will not. >> >> >> We are using this, for example, to skip some tests depending on the >> platform the test is run on by wrapping the c.filter_run_excluding :skip >> => true in an if block: >> >> If Mac, >> no exclusions, if Ubuntu, >> exclude tests that do something with Xcode. >> >> >> Right now the numbers of passing examples/test is just lower if the >> exclusion filter is used, but it would be nice to see the actual number of >> tests that are skipped. >> >> Is there a way to get the number of tests skipped by this method during a >> test run? >> >> Thanks, >> >> Jan >> >> -- >> You received this message because you are subscribed to the Google Groups >> "rspec" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] <javascript:> >> . >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/rspec/3108ef8e-303d-425b-9b00-ab83dfec7633%40googlegroups.com >> >> <https://groups.google.com/d/msgid/rspec/3108ef8e-303d-425b-9b00-ab83dfec7633%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "rspec" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/rspec/114b3f19-ed34-4784-9fca-e0260ec38b32%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
