MochaNode guard automatically & intelligently executes mocha node specs when files are modified.
- Tested against Node 0.8.14, mocha 1.6.0
Install the gem:
$ gem install guard-mocha-node
Add guard definition to your Guardfile by running this command:
$ guard init mocha-node
This will watch your project and execute your specs when files change. It's worth checking out the docs.
:all_on_start # default => true
Run all the specs as soon as Guard is started.
:all_after_pass # default => true
When files are modified and the specs covering the modified files pass, run all the specs automatically.
:keep_failed # default => true
When files are modified, run failing specs as well as specs covering the modified files.
:notify # default => true
Display growl/libnotify notifications.
:coffeescript # default => true
Load coffeescript and all execution of .coffee files.
:livescript # default => false
Load livescript and all execution of .ls files.
:reporter # default => "spec"
To select a mocha reporter
:require # default => nil
Make mocha require the given modules, it should be a string or a array of strings if multiple modules are to be required
:color # default => true
Enable or disable the mocha color output
:recursive # default => true
Enable or disable the recursive directory mocha option
:paths_for_all_specs # default => ['spec']
Paths for run all specs
:globals # default => 
Globals to ignore when performing global leak detection
Specify the path to the jasmine-node binary that will execute your specs.
:mocha_bin in the Guardfile assumes:
- you are running guard from the root of the project
- you installed mocha using npm
- you installed mocha locally to node_modules
If you delete the option completely from the Guardfile, it assumes the
mocha binary is already in your
So if you have installed jasmine-node globally using e.g.
npm install -g mocha, remove the
:mocha_bin option from the Guardfile.
Please read the guard docs for more information about the Guardfile DSL.
It's powerful stuff.
- write a JsonFormatter for jasmine-node so we have finer-grained control over rendering output
- write an RSpec-style progress formatter (aka lots of green dots)
- patch Guard to locate CamelCased modules correctly