A few seconds.

gulp-mocha

Run Mocha tests

gulp-mocha Build Status

Run Mocha tests

Keep in mind that this is just a thin wrapper around Mocha and your issue is most likely with Mocha.

Maintainer needed


🔥 Want to strengthen your core JavaScript skills and master ES6?
I would personally recommend this awesome ES6 course by Wes Bos. You might also like his React course.


Install

$ npm install --save-dev gulp-mocha

Usage

const gulp = require('gulp');
const mocha = require('gulp-mocha');

gulp.task('default', () =>
    gulp.src('test.js', {read: false})
        // `gulp-mocha` needs filepaths so you can't have any plugins before it
        .pipe(mocha({reporter: 'nyan'}))
);

API

mocha([options])

options

Options are passed directly to the mocha binary, so you can use any its command-line options in a camelCased form. Arrays are correctly converted to the comma separated list format Mocha expects. Listed below are some of the more commonly used options:

ui

Type: string
Default: bdd
Values: bdd tdd qunit exports

Interface to use.

reporter

Type: string
Default: spec Values: Reporters

Reporter that will be used.

This option can also be used to utilize third-party reporters. For example, if you npm install mocha-lcov-reporter you can then do use mocha-lcov-reporter as value.

globals

Type: Array

List of accepted global variable names, example ['YUI']. Accepts wildcards to match multiple global variables, e.g. ['gulp*'] or even ['*']. See Mocha globals option.

timeout

Type: number
Default: 2000

Test-case timeout in milliseconds.

bail

Type: boolean
Default: false

Bail on the first test failure.

checkLeaks

Type: boolean
Default: false

Check for global variable leaks.

grep

Type: string

Only run tests matching the given pattern which is internally compiled to a RegExp.

require

Type: Array

Require custom modules before tests are run.

compilers

Type: string
Example: js:babel-core/register

Specify a compiler.

FAQ

Test suite not exiting

If your test suite is not exiting it might be because you still have a lingering callback, most often caused by an open database connection. You should close this connection or do the following:

gulp.task('default', () =>
    gulp.src('test.js')
        .pipe(mocha())
        .once('error', () => {
            process.exit(1);
        })
        .once('end', () => {
            process.exit();
        })
);

License

MIT © Sindre Sorhus

Pincer is a project which aims to provide best library discovery tools for developers. We're growing day by day. We have only npm platform for now but we will add the others as much as we can.