Guard::Minitest Build Status

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.7, 1.9.2 & 1.9.3

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 adapated to all kind of projects. Please read doc[http://github.com/guard/guard#readme] 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]}#{m[2]}_spec.rb" }
  watch(%r|^spec/spec_helper\.rb|)    { "spec" }
end

Options

You can change the default location and pattern of minitest files:

guard 'minitest', test_folders: 'test/unit', test_file_patterns: '*_test.rb' do
  # ...
end

You can pass any of the standard MiniTest CLI options using the :cli option:

guard 'minitest', :cli => "--seed 123456 --verbose" do
  # ...
end

If you use spork-testunit[https://github.com/sporkrb/spork-testunit] you can enable it with (you'll have to load it before):

guard 'minitest', :drb => true do
  # ...
end

List of available options:

:notify => false            # disable desktop notifications
:bundler => false           # don't use "bundle exec" to run the minitest command, default: true
:rubygems => true           # require rubygems when run the minitest command (only if bundler is disabled), default: false

Development

Pull requests are very welcome! Make sure your patches are well tested. Please create a topic branch for every separate change you make.

Authors

Yann Lugrin