Posted 10 months ago. Visible to the public. Repeats.

RSpec: run a single spec (Example or ExampleGroup)

RSpec allows you to mark a single Example/ExampleGroup so that only this will be run. This is very useful when using a test runner like guard.

Add the following config to spec/spec_helper.rb:

Copy
RSpec.configure do |config| # These two settings work together to allow you to limit a spec run # to individual examples or groups you care about by tagging them with # `:focus` metadata. When nothing is tagged with `:focus`, all examples # get run. config.filter_run_including :focus => true config.run_all_when_everything_filtered = true ... end

Now you can mark a single Example/ExampleGroup with the "focus"-tag so only the tagged spec will be run:

Copy
describe SomeClass do it 'does great stuff', :focus do ... end ... end

Alternatively you can prepend f to any of it, describe and context which will result in fit, fdescribe and fcontext:

Copy
describe SomeClass do fit 'does great stuff' do ... end ... end

Analogously you can exclude Examples or Example Groups from being run by prepending x (xit, xdescribe and xcontext). Good thing is that those will be shown as pending in the RSpec output, so you won't be tempted to commit excluded Examples to source control.

Growing Rails Applications in Practice
Check out our new e-book:
Learn to structure large Ruby on Rails codebases with the tools you already know and love.

Owner of this card:

Avatar
Daniel Straßner
Last edit:
9 months ago
by Arne Hartherz
About this deck:
We are makandra and do test-driven, agile Ruby on Rails software development.
License for source code
Posted by Daniel Straßner to makandra dev
This website uses cookies to improve usability and analyze traffic.
Accept or learn more