TOTALLY TODO

Sorry. BBIAB.

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 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]}#{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 you can enable it with (you'll have to load it before):

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

List of available options:

:cli => '--test'            # pass arbitrary Minitest CLI arguments, default: ''
: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
:drb => true                # enable DRb support, default: false
:test_folders => ['tests']  # specify an array of paths that contain test files, default: %w[test spec]
:test_file_patterns => true # specify an array of patterns that test files must match in order to be run, default: %w[*_test.rb test_*.rb *_spec.rb]

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