RSpec guard allows to automatically & intelligently launch specs when files are modified.
-
Compatible with RSpec 1.3.x & RSpec 2.0.x
-
Tested on Ruby 1.8.7 & 1.9.2.
Please be sure to have guard installed before continue.
Install the gem:
gem install guard-rspec
Add it to your Gemfile (inside test group):
gem 'guard-rspec'
Add guard definition to your Guardfile with:
guard init rspec
Please read guard usage doc
RSpec guard can be really be adapated to all kind of projects. Please read guard doc for more info about Guardfile DSL.
guard 'rspec' do watch('^spec/(.*)_spec.rb') watch('^lib/(.*)\.rb') { |m| "spec/lib/#{m[1]}_spec.rb" } watch('^spec/spec_helper.rb') { "spec" } end
guard 'rspec' do watch('^spec/(.*)_spec.rb') watch('^app/(.*)\.rb') { |m| "spec/#{m[1]}_spec.rb" } watch('^lib/(.*)\.rb') { |m| "spec/lib/#{m[1]}_spec.rb" } watch('^spec/spec_helper.rb') { "spec" } watch('^config/routes.rb') { "spec/routing" } watch('^app/controllers/application_controller.rb') { "spec/controllers" } watch('^spec/factories.rb') { "spec/models" } end
RSpec guard should automatically detect RSpec version (via spec_helper syntax or Bundler) but you can force version with:
guard 'rspec', :version => 2 do ... end
-
Source hosted at GitHub
-
Report issues/Questions/Feature requests on GitHub Issues
Pull requests are very welcome! Make sure your patches are well tested. Please create a topic branch for every separate change you make.