Switch branches/tags
v0.5.9 v0.5.8 v0.5.7 v0.5.6 v0.5.5 v0.5.4 v0.5.3 v0.5.2 v0.5.1 v0.5.0 v0.4.5 v0.4.4 v0.4.3 v0.4.2 v0.4.1 v0.4.0 v0.3.2 v0.3.1 v0.3.0 v0.2.1 v0.2.0 v0.1.0 v0.0.0 stryker@0.27.1 stryker@0.27.0 stryker@0.26.2 stryker@0.26.1 stryker@0.26.0 stryker@0.25.1 stryker@0.25.0 stryker@0.24.2 stryker@0.24.1 stryker@0.24.0 stryker@0.23.0 stryker@0.22.4 stryker@0.22.3 stryker@0.22.2 stryker@0.22.1 stryker@0.22.0 stryker@0.21.1 stryker@0.21.0 stryker@0.20.1 stryker@0.20.0 stryker@0.19.4 stryker@0.19.3 stryker@0.19.2 stryker@0.19.1 stryker@0.19.0 stryker@0.18.2 stryker@0.18.1 stryker@0.18.0 stryker@0.17.2 stryker@0.17.1 stryker@0.17.0 stryker@0.16.0 stryker@0.15.6 stryker@0.15.5 stryker@0.15.4 stryker@0.15.3 stryker@0.15.2 stryker@0.15.1 stryker@0.15.0 stryker@0.14.1 stryker@0.14.0 stryker@0.13.0 stryker@0.12.0 stryker@0.11.2 stryker@0.11.1 stryker@0.11.0 stryker@0.10.3 stryker@0.10.2 stryker@0.10.1 stryker@0.10.0 stryker@0.9.3 stryker@0.9.2 stryker@0.9.1 stryker@0.9.0 stryker@0.8.0 stryker@0.7.0 stryker@0.6.7 stryker@0.6.6 stryker@0.6.4 stryker@0.6.3 stryker@0.6.2 stryker@0.6.0 stryker@0.6.0-2 stryker-webpack-transpiler@0.6.3 stryker-webpack-transpiler@0.6.2 stryker-webpack-transpiler@0.6.1 stryker-webpack-transpiler@0.6.0 stryker-webpack-transpiler@0.5.2 stryker-webpack-transpiler@0.5.1 stryker-webpack-transpiler@0.5.0 stryker-webpack-transpiler@0.4.0 stryker-webpack-transpiler@0.3.4 stryker-webpack-transpiler@0.3.3 stryker-webpack-transpiler@0.3.2 stryker-webpack-transpiler@0.3.1 stryker-webpack-transpiler@0.3.0 stryker-webpack-transpiler@0.2.0
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status NPM Node version Gitter

Stryker Mocha Runner

A plugin to use Mocha in Stryker, 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 stryker-mocha-runner locally within your project folder, like so:

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


You can configure the mocha test runner in the stryker.conf.js file.

// stryker.conf.js
module.exports = function (config) {
        // ...
        testRunner: 'mocha',
        // ...
        mochaOptions: {
            // Optional mocha options
            files: [ 'test/**/*.js' ]
            opts: 'path/to/mocha.opts',
            ui: 'bdd',
            timeout: 3000,
            require: [ /*'babel-register' */],
            asyncOnly: false

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]

Default: undefined

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.

The only supported mocha options are used: --ui, --require, --async-only, --timeout (or their short form counterparts). Others are ignored by the stryker-mocha-runner.

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