Guard::Minitest
Minitest guard allows to automatically & intelligently launch tests with minitest framework when files are modified.
-
Compatible with MiniTest 1.7.x & 2.x
-
Tested on Ruby 1.8.6, 1.8.7 & 1.9.2.
Install
Please be sure to have guard installed before continue.
Install the gem:
gem install guard-minitest
Add it to your Gemfile (inside test group):
gem 'guard-minitest'
Add guard definition to your Guardfile by running this command:
guard init minitest
Usage
Please read guard usage doc
Guardfile
Minitest guard can be really be adapated to all kind of projects. Please read guard doc for more info about Guardfile DSL.
Standard ruby gems with Minitest::Unit
guard 'minitest' do
watch(%r|^test/test_(.*)\.rb|)
watch(%r|^lib/(.*)([^/]+)\.rb|) { |m| "test/#{m[1]}test_#{m[2]}.rb" }
watch(%r|^test/test_helper\.rb|) { "test" }
end
Standard ruby gems with Minitest::Spec
guard 'minitest' do
watch(%r|^spec/(.*)_spec\.rb|)
watch(%r|^lib/(.*)\.rb|) { |m| "spec/#{m[1]}_spec.rb" }
watch(%r|^spec/spec_helper\.rb|) { "spec" }
end
Options
You can specify the paths for “test all”, perhaps to skip slow/remote/profiling tests:
guard 'minitest', :all => %w{test/unit test/functional test/integration test/lib}
...
end
You can force minitest seed with:
guard 'minitest', :seed => 12345 do
...
end
You can set minitest verbose mode with:
guard 'minitest', :verbose => true do
...
end
You can colour the test output (via minitest/pride) with:
guard 'minitest', :colour => true do
...
end
or
guard 'minitest', :color => true, :rubygems => true do
...
end
(Remark : the "minitest" gem must be installed -> unless you have a Gemfile, you must also specify either :bundler or :rubygems)
You can disable desktop notification with:
guard 'minitest', :notify => false do
...
end
You can disable bundler usage to run minitest with:
guard 'minitest', :bundler => false do
...
end
You can enable rubygems usage to run minitest (only if bundler is not present or disabale) with:
guard 'minitest', :rubygems => true do
...
end
If you use spork-testunit you can enable it with (you’ll have to load it before):
guard 'minitest', :drb => true do
...
end
Development
-
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.