Switch branches/tags
Find file History
strykermutator-npa Publish
 - grunt-stryker@0.13.11
 - stryker-api@0.21.4
 - stryker-babel-transpiler@0.7.6
 - stryker-html-reporter@0.16.5
 - stryker-jasmine-runner@0.2.5
 - stryker-jasmine@0.10.5
 - stryker-javascript-mutator@0.11.2
 - stryker-jest-runner@1.2.4
 - stryker-karma-runner@0.20.0
 - stryker-mocha-framework@0.12.5
 - stryker-mocha-runner@0.14.5
 - stryker-typescript@0.15.2
 - @stryker-mutator/util@0.0.1
 - stryker-vue-mutator@0.2.8
 - stryker-webpack-transpiler@0.7.6
 - stryker@0.30.0
Latest commit ac1bcb2 Oct 15, 2018

README.md

Build Status Gitter Mutation testing badge

Stryker

Stryker-jest-runner

Installation

Install stryker-jest-runner locally within your project folder, like so:

npm i --save-dev stryker-jest-runner

Peer dependencies

The stryker-jest-runner is a plugin for Stryker to enable Jest as a test runner. As such, you should make sure you have the correct versions of its dependencies installed:

  • jest
  • stryker-api

For the minimum supported versions, see the peerDependencies section in package.json.

Configuration

Configuring Stryker

Make sure you set the testRunner option to "jest" and set coverageAnalysis to "off" in your Stryker configuration.

{
    testRunner: 'jest'
    coverageAnalysis: 'off'
}

Configuring Jest

The stryker-jest-runner also provides a couple of configurable options using the jest property in your Stryker config:

{
    jest: {
        projectType: 'custom',
        config: require('path/to/your/custom/jestConfig.js')
    }
}
option description default value alternative values
projectType (optional) The type of project you are working on. default default uses the config option (see below)
react when you are using create-react-app
react-ts when you are using create-react-app-typescript
config (optional) A custom Jest configuration object. You could also use require to load it here) undefined

Note: When neither of the options are specified it will use the Jest configuration in your "package.json".
Note: the projectType option is ignored when the config option is specified. Note: Stryker currently only works for CRA-projects that have not been ejected.

The following is an example stryker.conf.js file:

module.exports = function(config) {
  config.set({
    testRunner: "jest",
    mutator: "javascript",
    coverageAnalysis: "off",
    mutate: ["src/**/*.js"]
  });
};

For more information on what these options mean, take a look at the Stryker readme.

Loading the plugin

In order to use the stryker-jest-runner it must be loaded in the Stryker mutation testing framework via the Stryker configuration. The easiest way to achieve this, is not have a plugins section in your config file. That way, all node_modules starting with stryker- will be loaded.

Contributing

Make sure to read the Stryker contribution guidelines located in the Stryker mono repository.