afbroman / mutant

Mutation testing for Ruby

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mutant

Build Status Gem Version Slack Status

What is Mutant?

Mutant is a mutation testing tool for Ruby. Mutation testing is a technique to verify semantic coverage of your code.

Why do I want it?

Mutant adds to your toolbox: Detection of uncovered semantics in your code. Coverage becomes a meaningful metric!

On each detection of uncovered semantics you have the opportunity to:

  • Delete dead code, as you do not want the extra semantics not specified by the tests
  • Add (or improve a test) to cover the unwanted semantics.
  • Learn something new about the semantics of Ruby and your direct and indirect dependencies.

How Do I use it?

  • Start with reading the nomenclature documentation.
  • Than select and setup your integration, also make sure you can reproduce the examples in the integration specific documentation.
  • Identify your preferred mutation testing strategy. Its recommended to start at the commit level, to test only the code you had been touching. See the incremental mutation testing documentation.

Topics

Sponsoring

Mutant, as published in the opensource version, would not exist without the help of contributors spending lots of their private time.

Additionally, the following features where sponsored by organizations:

  • The mutant-minitest integration was sponsored by Arkency
  • Mutant's initial concurrency support was sponsored by an undisclosed company that does currently not wish to be listed here.

If your organization is interested in sponsoring a feature, general maintainership or bugfixes, contact Markus Schirp.

About

Mutation testing for Ruby

License:Other


Languages

Language:Ruby 100.0%Language:Roff 0.0%