TheSoftwareDesignLab / mutode

Licence: MIT license
Mutation testing for JavaScript and Node.js

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to mutode

Should.js
BDD style assertions for node.js -- test framework agnostic
Stars: ✭ 1,908 (+3027.87%)
Mutual labels:  test, tests, node-js
Infection
PHP Mutation Testing library
Stars: ✭ 1,575 (+2481.97%)
Mutual labels:  mutation-testing, mutation, mutant
universalmutator
Regexp based tool for mutating generic source code across numerous languages
Stars: ✭ 105 (+72.13%)
Mutual labels:  mutation-testing, mutation, mutant
Javascript Testing Best Practices
📗🌐 🚢 Comprehensive and exhaustive JavaScript & Node.js testing best practices (August 2021)
Stars: ✭ 13,976 (+22811.48%)
Mutual labels:  mutation-testing, test, mutation
Test Pack
A Symfony Pack for functional testing
Stars: ✭ 865 (+1318.03%)
Mutual labels:  test, tests
Capture Stream
Capture stream output.
Stars: ✭ 10 (-83.61%)
Mutual labels:  test, tests
Create Test Server
Creates a minimal Express server for testing
Stars: ✭ 117 (+91.8%)
Mutual labels:  test, tests
dojos
Alguns desafios para os participantes dos grupos de estudo
Stars: ✭ 33 (-45.9%)
Mutual labels:  test, tests
mutatest
Python mutation testing: test your tests! Safely run mutation trials without source code modifications and see what will get past your test suite.
Stars: ✭ 50 (-18.03%)
Mutual labels:  mutation-testing, mutation
Muter
🔎 Automated mutation testing for Swift 🕳️
Stars: ✭ 293 (+380.33%)
Mutual labels:  mutation-testing, test
7182
Curso 7182 - Refatorando para testes de unidade
Stars: ✭ 21 (-65.57%)
Mutual labels:  test, tests
node-bogota
🚀 Run tape tests concurrently with tap-spec output
Stars: ✭ 15 (-75.41%)
Mutual labels:  test, tests
flyway-junit5-extensions
Flyway JUnit 5 Extension to clean / migrate your database in tests.
Stars: ✭ 14 (-77.05%)
Mutual labels:  test, tests
Cypress
Fast, easy and reliable testing for anything that runs in a browser.
Stars: ✭ 35,145 (+57514.75%)
Mutual labels:  test, tests
BDTest
BDTest - A Testing Framework for .NET
Stars: ✭ 58 (-4.92%)
Mutual labels:  test, tests
Mutant
Automated code reviews via mutation testing - semantic code coverage.
Stars: ✭ 1,794 (+2840.98%)
Mutual labels:  mutation-testing, mutant
phpunit-injector
Injects services from a PSR-11 dependency injection container to PHPUnit test cases
Stars: ✭ 62 (+1.64%)
Mutual labels:  test, tests
eaf-linter
🤪 A linter, prettier, and test suite that does everything as-simple-as-possible.
Stars: ✭ 17 (-72.13%)
Mutual labels:  test, node-js
Telegraf-Test
Telegraf Test - Simple Test ToolKit of Telegram Bots
Stars: ✭ 22 (-63.93%)
Mutual labels:  test, tests
arduino-ci-script
Bash script for continuous integration of Arduino projects
Stars: ✭ 25 (-59.02%)
Mutual labels:  test, tests

Mutode npm npm npm

JavaScript Style Guide Build Status Build status Coverage Status Greenkeeper badge

Mutation testing for Node.js and JavaScript.

Mutode generates mutants (small changes of code) and runs your tests. If the tests fail, it means the mutant was detected and killed; if your tests pass, it means the mutant survived and your tests can be improved.

Watch the demo video and Check the slides of the Node Summit 2018 talk

"It's like a test for your tests!" - @mappum

"Higher order testing: automated testing for your unit tests" - @albertomiranda

Publications

Read the tool demo paper "Mutode: generic JavaScript and Node.js mutation testing tool". In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2018)

Read the thesis proposal here

Install

Requires Node 8+

Globally:

npm i -g mutode

Locally as a dev dependency:

npm i -D mutode

Use

Globally:

mutode [options] [paths]

Locally with npx:

npx mutode [options] [paths]

Locally with a package.json script:

{
  ...
  "scripts": {
    "test: "my test command",
    "mutode": "mutode [options] [paths]"
  }
  ...
}

Options:

Usage: mutode [options] [paths]

Options:
  --concurrency, -c  Concurrency of mutant runners         [number] [default: 4]
  --mutators, -m     Specific mutators to load (space separated)
      [array] [choices: "booleanLiterals", "conditionalsBoundary", "increments",
             "invertNegatives", "math", "negateConditionals", "numericLiterals",
              "removeArrayElements", "removeConditionals", "removeFuncCallArgs",
         "removeFuncParams", "removeFunctions", "removeLines", "removeObjProps",
                                          "removeSwitchCases", "stringLiterals"]
  -h, --help         Show help                                         [boolean]
  -v, --version      Show version number                               [boolean]

Docs

  • Current supported mutation operators are available here
  • General documentation is available here

Videos

License

MIT Copyright © Diego Rodríguez Baquero

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].