@stryker-mutator/core

8.2.6 • Public • Published

Mutation testing badge Build Status NPM Node version Slack Chat

StrykerJS

StrykerJS

Professor X: For someone who hates mutants... you certainly keep some strange company. William Stryker: Oh, they serve their purpose... as long as they can be controlled.

Introduction

For an introduction to mutation testing and StrykerJS features, see stryker-mutator.io.

Getting started

Please follow the quickstart on the website.

For small js projects, you can try the following command:

npm install --save-dev @stryker-mutator/core
# Only for small projects:
npx stryker run

It will run stryker with default values:

  • Uses npm test as your test command
  • Searches for files to mutate in the lib and src directories

Usage

$ npx stryker <command> [options] [configFile]

See usage on stryker-mutator.io

Supported mutators

See our website for the list of currently supported mutators.

Configuration

See configuration on stryker-mutator.io.

Programmatic use

Stryker can also be used programmatically from nodejs. It exports 2 classes for you to use: Stryker and StrykerCli.

import { Stryker, StrykerCli } from '@stryker-mutator/core';

Both classes can be used to run Stryker. The main difference is that Stryker is a slightly more low-level approach, while StrykerCli is the straight up CLI api.

In this example you can see how to use both.

async function main() {
  // Runs Stryker as if it was called directly from the cli. Not even returns a promise, it assumes to be allowed to call `process.exit`.
  new StrykerCli(process.argv /* RAW argv array */ ).run(); 

  // Runs Stryker, will not assume to be allowed to exit the process.
  const stryker = new Stryker({ concurrency: 4 } /* Partial Stryker options object */ );
  const mutantResults = await stryker.runMutationTest();
  // mutantResults or rejected with an error.
}

Stryker is written in TypeScript, so it is recommended to use Typescript as well to get the best developer experience.

Package Sidebar

Install

npm i @stryker-mutator/core

Weekly Downloads

78,371

Version

8.2.6

License

Apache-2.0

Unpacked Size

1.1 MB

Total Files

611

Last publish

Collaborators

  • nicojs
  • archcry
  • simondel
  • strykermutator-npa