Miss any of our Open RFC calls?Watch the recordings here! »


1.0.7 • Public • Published

Grunt Mocha CLI

Build Status Dependency Status

Run Mocha server-side tests in Grunt.

Getting Started

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. You can install this plugin with this command:

npm install grunt-mocha-cli --save-dev



All of the Mocha command line options are supported, plus some extras.

The list of test files to run can be specified using either the standard Grunt format or by using the files option. If neither is specified, the Mocha default will be used (test/*.js).

Mocha Options

  • invert (boolean) - inverts grep matches.
  • colors (boolean) - force enabling of colors.
  • no-colors (boolean) - force disabling of colors.
  • growl (boolean) - enable growl notification support.
  • debug (boolean) - enable node's debugger, synonym for node --debug.
  • bail (boolean) - bail after first test failure.
  • recursive (boolean) - include sub directories.
  • debug-brk (boolean) - enable node's debugger breaking on the first line.
  • async-only (boolean) - force all tests to take a callback (async).
  • check-leaks (boolean) - check for global variable leaks.
  • reporter (string) - specify the reporter to use.
  • ui (string) - specify user-interface (bdd|tdd|exports).
  • grep (string) - only run tests matching pattern.
  • timeout (string) - set test-case timeout in milliseconds [2000].
  • slow (string) - "slow" test threshold in milliseconds [75].
  • globals (array) - allow the given comma-delimited global names.
  • compilers (array) - use the given module(s) to compile files.


  • quiet (boolean) - disable printing of Mocha's output to the terminal.
  • files (string|array) - glob(s) of test files to run.


Define test files using the standard Grunt format:

    mochacli: {
        options: {
            require: ['should'],
            reporter: 'nyan',
            bail: true
        all: ['test/*.js']
grunt.registerTask('test', ['mochacli']);

Define test files and basic options once, then customise options per target:

    mochacli: {
        options: {
            require: ['should'],
            files: 'test/*.js'
        spec: {
            options: {
                reporter: 'spec'
        nyan: {
            options: {
                reporter: 'nyan'
grunt.registerTask('test', ['mochacli:spec']);


In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.


Grunt Mocha CLI is released under the MIT license.

Copyright © 2013 Roland Warmerdam.


npm i [email protected]





Last publish


  • avatar