Run Mocha tests
Keep in mind that this is just a thin wrapper around Mocha and your issue is most likely with Mocha.
$ npm install --save-dev gulp-mocha
var gulp = require('gulp');
var mocha = require('gulp-mocha');
gulp.task('default', function () {
return gulp.src('test.js', {read: false})
// gulp-mocha needs filepaths so you can't have any plugins before it
.pipe(mocha({reporter: 'nyan'}));
});
Type: string
Default: bdd
Values: bdd
, tdd
, qunit
, exports
The interface to use.
Type: string
Default: spec
| dot
prior to mocha v1.21.0
Values: reporters
The 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.
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.
Type: number
Default: 2000
Test-case timeout in milliseconds.
Type: boolean
Default: false
Bail on the first test failure.
Type: boolean
Default: false
Ignore global leaks.
Type: string
Only run tests matching the given pattern which is internally compiled to a RegExp.
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', function () {
return gulp.src('test.js')
.pipe(mocha())
.once('error', function () {
process.exit(1);
})
.once('end', function () {
process.exit();
});
});
Add require('coffee-script/register')
to the top of your gulpfile.js
.
MIT © Sindre Sorhus