Test::Unit guard allows to automatically & intelligently launch tests when files are modified or created.
If you have any questions about Guard or Guard::Test, please join us on our Google group or on #guard (irc.freenode.net).
- Compatible with test-unit 2.
- Tested on Ruby 1.8.7, 1.9.2, REE, Rubinius and JRuby.
Please be sure to have Guard installed before continue.
If you're using Bundler, add it to your Gemfile:
group :tools do
gem 'guard-test'
endNote for Rails users: you should add it inside a :tools group (or at least not the :development nor :test group) to avoid the loading of the gem on Rails boot.
and run:
$ bundle installor manually install the gem:
$ gem install guard-testAdd Guard definition to your Guardfile by running this command:
$ guard init testRuby on Rails lazy loads gems as needed in its test suite. As a result Guard::Test may not be able to run all tests until the gem dependencies are resolved.
To solve the issue either add the missing dependencies or remove the tests.
Example:
Specify ruby-prof as application's dependency in Gemfile to run benchmarks.
Rails automatically generates a performance test stub in the test/performance directory which can trigger this error.
Either add ruby-prof to your Gemfile (inside the test group):
group :test do
gem 'ruby-prof'
endOr remove the test if it isn't necessary.
Please read the Guard usage doc.
Guard::Test can be adapted to any kind of projects.
See the template Guardfile for some examples.
Please read the Guard documentation for more info about the Guardfile DSL.
Deprecation notice: The :runner option is deprecated. If you had set it to "fastfail", it is now the default in test-unit 2, but if you want the opposite, you can pass the :cli => '--no-show-detail-immediately' option instead.
bundler(Boolean) - Whether or not to usebundle execto run tests. Default totrueif a you have a Gemfile in the current directory.rubygems(Boolean) - Whether or not to require rubygems (if bundler isn't used) when running the tests. Default tofalse.rvm(Array<String>) - Directly run your specs against multiple Rubies. Default tonil.drb(Boolean) - Run your tests withspork-testunit. Default tofalse.include(Array<String>) - Pass arbitrary include paths to the command that runs the tests. Default to['test'].cli(String) - Pass arbitrary CLI arguments to the command that runs the tests. Default tonil.all_on_start(Boolean) - Run all tests on Guard startup. Default totrue.all_after_pass(Boolean) - Run all tests after the current run tests pass. Default totrue.keep_failed(Boolean) - Re-run failing tests until they pass. Default totrue.test_paths(Array<String>) - Array of paths that where are located the test files. Default to['test'].
When true, notifications are disabled. This might be fixed in future releases.
By default, guard-test will only look for test files within test/ in your project root. You can add any paths using the :test_paths option:
guard :test, :test_paths => ['test', 'vendor/plugins/recaptcha/test', 'any/path/test'] do
# ...
end- Source hosted on GitHub: https://github.com/guard/guard-test
- Report issues and feature requests to GitHub Issues: https://github.com/guard/guard-test/issues
Pull requests are very welcome! Please try to follow these simple "rules", though:
- Please create a topic branch for every separate change you make;
- Make sure your patches are well tested;
- Update the README (if applicable);
- Update the CHANGELOG and add yourself to the list of contributors (see at the bottom of the CHANGELOG for examples);
- Please do not change the version number.
For questions please join us on our Google group or on #guard (irc.freenode.net).
https://github.com/guard/guard-test/contributors
Many thanks to Thibaud Guillaume-Gentil for creating the excellent Guard gem.
