stryker-mocha-runner
Version:
A plugin to use the mocha test runner in Stryker, the JavaScript mutation testing framework
96 lines (62 loc) • 3.52 kB
Markdown
[](https://travis-ci.org/stryker-mutator/stryker)
[](https://www.npmjs.com/package/stryker-mocha-runner)
[](https://img.shields.io/node/v/stryker-mocha-runner.svg)
[](https://gitter.im/stryker-mutator/stryker?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
# Stryker Mocha Runner
A plugin to use Mocha in [Stryker](https://stryker-mutator.io), the JavaScript mutation testing framework.
**IMPORTANT:** Starting from `stryker-mocha-runner@0.4.0` the test framework has been moved to a separate module. Please also install `stryker-mocha-framework` if you've previously used this module.
## Install
Install stryker-mocha-runner locally within your project folder, like so:
```bash
npm i --save-dev stryker-mocha-runner
```
## Peer dependencies
The `stryker-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-api`
## Configuring
You can configure the mocha test runner in the `stryker.conf.js` file.
```javascript
// stryker.conf.js
module.exports = function (config) {
config.set({
// ...
testRunner: 'mocha',
// ...
mochaOptions: {
// Optional mocha options
files: [ 'test/**/*.js' ]
opts: 'path/to/mocha.opts',
ui: 'bdd',
timeout: 3000,
require: [ /*'babel-register' */],
asyncOnly: false,
grep: /.*/
}
});
}
```
### `mochaOptions.files` [`string` or `string[]`]
Default: `'test/**/*.js'`
Choose which files to include. This is comparable to [mocha's test directory](https://mochajs.org/#the-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](https://mochajs.org/#mochaopts) 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-mocha-runner.
### `mochaOptions.grep` [`RegExp`]
Default: `undefined`
Specify a mocha [`grep`](https://mochajs.org/#grep) command, to single out individual tests.
### `mochaOptions.ui` [`string`]
Default: `undefined`
Set the name of your [mocha ui](https://mochajs.org/#-u---ui-name)
### `mochaOptions.require` [`string[]`]
Default: `[]`
Set mocha's [`require` option](https://mochajs.org/#-r---require-module-name)
### `mochaOptions.asyncOnly` [`boolean`]
Default: `false`
Set mocha's [`asyncOnly` option](https://mochajs.org/#usage)
### `mochaOptions.timeout` [`number`]
Default: `undefined`
Set mocha's [`timeout` option](https://mochajs.org/#-t---timeout-ms)