0.1.3 ā€¢ Published 3 years ago

stryker-git-checker v0.1.3

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

stryker-git-checker

In the software testing context, one of the main downsides of the mutation testing technique is the high processing time to execute the analyses in large codebases. This work aims to develop an integration with the Git version control system, allowing to perform fast mutation tests with the Stryker Mutator framework, creating mutants only in new changes over the original code base, improving the productivity in the use of this technique in development with Javascript (and friends).

This work is part of the Lucas Barioni Toma's completion of Electronic Engineering course work in the Technological Aeronautics Institute. Results will be collected later for benchmarks and to evaluate the adequacy of this technique.

Future work:

  • Make it work in a simple Javascript project;
  • Add automated integration tests (I'm still figuring out how I will do this);
  • Add mutation testing;
  • Configure CI/CD;
  • Options to set branches and commits to be compared;
  • Make it work in a simple Typescript project;
  • Make it work in a complex Typescript + React project;
  • Make it work in Windows šŸ˜¬;

šŸš§ Please note: This is quite experimental yet, things can not work as expected.

Usage

To install the plugin to an existing project with Stryker Mutator, just add the plugin package with npm or yarn:

# NPM
npm install --save-dev stryker-git-checker

# Yarn
yarn add --dev stryker-git-checker

Then add git-checker to the checkers list and stryker-git-checker to the plugins list:

/**
 * Example of `stryker.conf.js` file.
 *
 * @type {import('@stryker-mutator/api/core').StrykerOptions}
 */
module.exports = {
  packageManager: "yarn",
  reporters: ["html", "clear-text", "progress"],
  testRunner: "jest",
  coverageAnalysis: "perTest",
  // Add `git-checker` to the `checkers` list.
  checkers: ["git-checker"],
  // Add all plugins being used including the `stryker-git-checker`.
  plugins: ["@stryker-mutator/jest-runner", "stryker-git-checker"],
};

Note: remember that when you use custom plugins you need to explicitly add all plugins in the plugins list.