@stryker-mutator/javascript-mutator
v4.0.0
Published
A plugin for javascript projects using Stryker
Downloads
41,194
Readme
Stryker JavaScript mutator
A mutator that supports JavaScript for Stryker, the JavaScript Mutation testing framework. This plugin does not transpile any code. The code that the @stryker-mutator/javascript-mutator gets should be executable in your environment (i.e. the @stryker-mutator/javascript-mutator does not add support for Babel projects).
Quickstart
First, install Stryker itself (you can follow the quickstart on the website)
Next, install this package:
npm install --save-dev @stryker-mutator/javascript-mutator
Now open up your stryker.conf.js
(or stryker.conf.json
) file and add the following components:
mutator: 'javascript',
// OR
mutator: {
name: 'javascript',
plugins: ['classProperties', 'optionalChaining'],
excludedMutations: ['BooleanSubstitution', 'StringLiteral']
}
Now give it a go:
$ stryker run
Configuration
mutator.name
[string
]
The name of the mutator, use 'javascript'
to enable this mutator.
mutator.plugins
[(string | ParserPluginWithOptions)[]
]
Default: ['asyncGenerators', 'bigInt', 'classProperties', 'dynamicImport', 'flow', 'jsx', 'objectRestSpread', ['decorators', { decoratorsBeforeExport: true }]
Configure custom Babel Syntax plugins. Syntax plugins allow you to parse different pieces of syntax. By default a number of plugins are configured. We might add more in the future. For example: you can configure your own Syntax plugins here to allow for stage 1 features.
mutator.excludedMutations
[string[]
]
Mutators
The JavaScript Mutator
is a plugin to mutate JavaScript code. This is done using Babel without any plugins.
See test code to know which mutations are supported.