gulp-mocha
    Overview
    Documentation
    Insights
    Code
    Contributors
    Dependencies
    Alternatives

gulp-mocha

Run Mocha tests

7.0.1  •  Updated 5 months ago  •  by Sindre Sorhus  •  MIT License

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

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)
);
How often do you use dark themes on other websites?

Popularity

Weekly Downloads
155.1K
Stars
368

Maintenance

Development

Last ver 5 months ago
Created 6 years ago
Last commit 4 months ago
14 days between commits

Technology

Node version: 10.16.0
7.1K unpacked

Compliance

MIT License
OSI Approved
0 vulnerabilities

Contributors

41 contributors
Sindre Sorhus
Maintainer, 103 commits, 36 merges
Vsevolod Strukchinsky
8 commits, 2 merges, 9 PRs
Works at Yandex
James Monger
2 commits, 3 merges
johanblumenberg
3 commits, 3 PRs
Kevin Martensson
Maintainer, 2 commits
Works at imagemin yeoman
Davy Chiu
2 commits, 2 PRs

Tags

gulpplugin
mocha
test
testing
unit
framework
runner
tdd
bdd
qunit
spec
tap
Ready for the next level?
Join Openbase's founding team to help us build the ultimate open-source app store, work with the latest technologies, and enjoy great culture, impact and autonomy
Openbase helps developers choose among and use millions of open-source packages, so they can build amazing products faster.
© 2020 Devstore, Inc.