![Gitter](https://badges.gitter.im/stryker-mutator/stryker.svg)
Stryker Mocha Runner
A plugin to use Mocha in Stryker, the JavaScript mutation testing framework.
Install
Install @stryker-mutator/mocha-runner locally within your project folder, like so:
npm i --save-dev @stryker-mutator/mocha-runner
Peer dependencies
The @stryker-mutator/mocha-runner
is a plugin for stryker
to enable mocha
as a test runner.
As such, you should make sure you have the correct versions of its dependencies installed:
mocha
@stryker-mutator/core
Configuring
You can configure the mocha test runner in the stryker.conf.js
file.
module.exports = function (config) {
config.set({
testRunner: 'mocha',
mochaOptions: {
files: [ 'test/**/*.js' ]
opts: 'path/to/mocha.opts',
ui: 'bdd',
timeout: 3000,
require: [ ],
asyncOnly: false,
grep: /.*/
}
});
}
mochaOptions.files
[string
or string[]
]
Default: 'test/**/*.js'
Choose which files to include. This is comparable to mocha's test directory although there is no support for --recursive
.
If you want to load all files recursively: use a globbing expression ('test/**/*.js'
). If you want to decide on the order of files, use multiple globbing expressions. For example: use ['test/helpers/**/*.js', 'test/unit/**/*.js']
if you want to make sure your helpers are loaded before your unit tests.
mochaOptions.opts
[string
| false]
Default: 'test/mocha.opts'
Specify a 'mocha.opts' file to be loaded. Options specified directly in your stryker.conf.js file will overrule options from the 'mocha.opts' file. Disable loading of an additional mocha.opts file with false
.
The only supported mocha options are used: --ui
, --require
, --async-only
, --timeout
, --grep
(or their short form counterparts). Others are ignored by the @stryker-mutator/mocha-runner.
mochaOptions.grep
[RegExp
]
Default: undefined
Specify a mocha grep
command, to single out individual tests.
mochaOptions.ui
[string
]
Default: undefined
Set the name of your mocha ui
mochaOptions.require
[string[]
]
Default: []
Set mocha's require
option
mochaOptions.asyncOnly
[boolean
]
Default: false
Set mocha's asyncOnly
option
mochaOptions.timeout
[number
]
Default: undefined
Set mocha's timeout
option