The rspec-rerun gem is a drop-in solution to retry (rerun) failed RSpec examples. It may be useful, for example, with finicky Capybara tests. The strategy to rerun failed specs is to output a file called
rspec.failures that contains a list of failed examples and to feed that file back to RSpec via
Gemfile in the
group :development, :test do gem "rspec-rerun" end
rspec-rerun and change the default task in
require 'rspec-rerun' task :default => "rspec-rerun:spec"
rake rspec-rerun:spec. Failed examples will be rerun automatically.
rspec-rerun:spec task accepts the following parameters:
retry_count: number of retries, defaults to 1, also available by setting
You can set the following global environment variables:
RSPEC_RERUN_RETRY_COUNT: number of retries, defaults to the value of
RSPEC_RERUN_PATTERN: spec file pattern, defaults to the value defined by
A list of failed examples is stored in a file called
rspec.failures. It might also be a good idea that you add
Rerunning failed specs has been a long requested feature #456 in RSpec. A viable approach was suggested in #596. The infrastructure from that pull request was merged and released with rspec-core 2.11, which enabled re-running specs outside of RSpec, as described in our blog post. This gem has evolved from it.
Fork the project. Make your feature addition or bug fix with tests. Send a pull request. Bonus points for topic branches.
Copyright and License
MIT License, see LICENSE for details.