= autowatchr Fork of viking's autowatchr library (http://github.com/viking/autowatchr) to fix issues and add features. Provides some autotest-like behavior for watchr (http://github.com/mynyml/watchr). == Installation gem install harmon-autowatchr == Current features * Auto-watches test and lib files using the autotest layout * Optionally run only failing-tests * Optionally run entire suite after all tests pass * Traps INT signal (Control-C) and re-runs all tests. == Todo * Cucumber support * Expose algorithm to map test classes to test files == Example use test.watchr require 'autowatchr' Autowatchr.new(self) do |config| config.ruby = 'jruby' config.lib_dir = 'leet_lib' config.test_dir = 'leet_test' end === Configuration options * command * An ERB template for the command * Default: "<%= ruby %> -I<%= include %> <% list_of_requires.each { |lib| %>-r<%= lib %> <% } %><%= predicate %>" * ruby * The ruby executable to use * Default: "ruby" * run_method * The way the ruby files are "require"-ed. * Two options: * :require => ruby -e "%w[test/first_test.rb test/second_test.rb].each { |file| require file }" * :load => ruby -e "%w[test/first_test.rb test/second_test.rb].each { |file| load file }" * Default: :require * It is advised to use :load when running tests in Rails since that is what "rake test" uses. * include * Paths to include (with -I) * Default: ".:#{self.lib_dir}:#{self.test_dir}" * require * Libraries to include (with -r) * Can either be a string or an array (Ex: config.require = %w{rubygems active_support}) * Default: nil * lib_dir * The lib path, where your library lives * Default: "lib" * test_dir * The test path, where your tests live * Default: "test" * lib_re * The regexp to use for discovering library files * Default: '^%s.*/.*\.rb$' % self.lib_dir * test_re * The regexp to use for discovering library files * Default: '^%s.*/test_.*\.rb$' % self.test_dir * failing_only * Run only failing tests the next time a test file is run * Default: true * run_suite * Run entire test suite after failing tests pass * Default: true All of the config options are optional. You can also pass in a hash instead of a block. Also see: test.watchr[http://github.com/viking/autowatchr/blob/master/test.watchr]. == Copyright Copyright (c) 2009 Jeremy Stephens. See LICENSE for details. Many snippets were taken from ZenTest[http://github.com/seattlerb/ZenTest]. == Contributors * Adam Grant (harmon)