Mutatest vs mutator
Mutatest
mutatest.readthedocs.iomutator
pdonatbouillud.comSide by side
| Figure | Mutatest | mutator |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | Yes | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| API | Yes | — |
| Self-hosted | Yes | — |
| Plans published | 1 | 0 |
| Spec score · Mutation Testing Tools | 8.7 (#1) | 6.9 (#21) |
| Mutation method | It uses Python’s Abstract Syntax Tree grammar to produce valid mutants and changes local __pycache__ files instead of source files. | It uses abstract syntax tree analysis and mutation operators for arithmetic, comparisons, logic, constants, return values, and statement deletion. |
| Mutation operators | Supported operators include arithmetic, bitwise, Boolean, comparison, membership, identity, conditional and index mutations. | Its operators include arithmetic, comparison and logical changes, constant and return-value replacements, and statement deletions. |
| Purpose | Mutatest is a diagnostic command-line tool for assessing test coverage by checking whether tests detect small code mutations. | mutator is an automated mutation testing tool for the R language that checks whether a test suite detects systematic changes to source code. |
| Support | The project directs users to its GitHub issue tracker to submit bugs or request features. | The documentation links to a GitHub page for reporting bugs. |
Plans
In their own words
Mutatest
Mutatest is a free command-line tool for Python projects that checks whether tests catch small changes to code. It creates valid mutations from Python’s Abstract Syntax Tree grammar and applies them to local __pycache__ files rather than changing source files. If coverage data is available, it can limit targets to lines marked as covered. Mutations are sampled randomly, with a seed available to make runs reproducible. Command-line controls include run modes, mutation categories, file exclusions, timeouts, reports, and thresholds for surviving mutants; an API supports custom controls. The documentation describes using test commands such as pytest and coverage data to filter targets. Mutatest can raise an exception when surviving mutants meet a configured threshold, including in automated runs such as CI. It supports Linux, macOS, and Windows, and is free under the MIT License. Installation requires Python 3.7 or 3.8; multiprocessing is available on 3.8, but not 3.7. Repeated test runs can be slow, so it is intended for diagnostics rather than every commit across an entire codebase.
mutator
mutator has no write-up on Specifiction yet; its figures are above.