Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Build Status NPM Node version Gitter BCH compliance


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.


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 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.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.