Package Exports
- gulp-mocha
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gulp-mocha) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
gulp-mocha 
Run Mocha tests
Keep in mind that this is just a thin wrapper around Mocha and your issue is most likely with Mocha.
Install
$ npm install --save-dev gulp-mocha
Usage
const gulp = require('gulp');
const mocha = require('gulp-mocha');
exports.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
Type: object
Options are passed directly to the mocha
binary, so you can use any its command-line options in a camelCased form. Arrays and key/value objects 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.
reporterOptions
Type: object
Example: {reportFilename: 'index.html'}
Reporter specific options.
globals
Type: string[]
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: string[]
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:
exports.default = () => (
gulp.src('test.js')
.pipe(mocha())
.once('error', err => {
console.error(err);
process.exit(1);
})
.once('end', () => {
process.exit();
})
);
Or you might just need to pass the exit
option:
exports.test = () => (
gulp.src(['test/**/*.js'], {read: false})
.pipe(mocha({reporter: 'list', exit: true}))
.on('error', console.error)
);