Skip to content
/ mutant Public
forked from mbj/mutant

Automated code reviews via mutation testing - semantic code coverage.

License

Notifications You must be signed in to change notification settings

sferik/mutant

Repository files navigation

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

Automated code reviews via mutation testing - semantic code coverage.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%