@stryker-mutator/vue-mutator
v4.0.0
Published
A plugin for VueJS projects using Stryker
Downloads
229
Keywords
Readme
Stryker Vue mutator
A mutator that supports mutating *.vue
code for Stryker, the mutation testing framework for JavaScript and friends.
This plugin cannot work on its own as it requires additional mutators to function.
Quickstart
First, install Stryker itself (you can follow the quickstart on the website)
Next, install this package:
npm install --save-dev @stryker-mutator/vue-mutator
Additionally: choose the mutator implementation for javascript, typescript or both.
npm install --save-dev @stryker-mutator/javascript-mutator
# AND / OR
npm install --save-dev @stryker-mutator/typescript
Now open up your stryker.conf.js file and add the following components:
mutator: 'vue',
Finally, give it a go:
$ stryker run
Additional required plugin
The Vue Mutator
by itself cannot mutate code. Instead it can parse *.vue
files and choose a backing mutator based on the script type (either typescript or javascript). This is why the Vue Mutator
requires @stryker-mutator/javascript-mutator
and/or @stryker-mutator/typescript
to work. This way it supports mutating single-file components with a .vue
extension as well as regular code in .js
, .jsx
, .ts
and .tsx
files.
If you write TypeScript code please install this package:
npm install --save-dev @stryker-mutator/typescript
If you write JavaScript code please install this package:
npm install --save-dev @stryker-mutator/javascript-mutator
These plugins need no additional configuration to work with the Vue Mutator
. Please leave the config setting in your stryker.conf.js
(or stryker.conf.json
) file at mutator: 'vue',
.
Peer dependencies
You should make sure you have the correct versions of this plugin's dependencies installed:
vue-template-compiler
@stryker-mutator/core
For the current versions, see the peerDependencies
section in the package.json.
These are marked as peerDependencies
so you get a warning during installation when the correct versions are not installed.
The vue-template-compiler
module absolutely requires the same version as your Vue dependency itself, which is why it is a peerDependency instead of a dependency.