Run Mocha tests
npm install 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.
``sh`
npm install --save-dev gulp-mocha
`js
import gulp from 'gulp';
import mocha from 'gulp-mocha';
export default () => (
gulp.src('test.js', {read: false})
// gulp-mocha needs file paths so you cannot have any plugins before it.`
.pipe(mocha({reporter: 'nyan'}))
);
#### 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\'bdd'
Default: \'bdd' | 'tdd' | 'qunit' | 'exports'
Values:
The interface to use.
##### reporter
Type: string\spec
Default: \
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.
##### reporterOptions
Type: object\{reportFilename: 'index.html'}
Example:
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\2000
Default:
Test-case timeout in milliseconds.
##### bail
Type: boolean\false
Default:
Bail on the first test failure.
##### checkLeaks
Type: boolean\false
Default:
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\js:babel-core/register
Example:
Specify a compiler.
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:
`js`
export 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:
`js``
export const test = () => (
gulp.src(['test/*/.js'], {read: false})
.pipe(mocha({reporter: 'list', exit: true}))
.on('error', console.error)
);