Skip to content
SPECIFICTION
Get listed

go-mutesting vs pymute

go-mutesting

github.com

pymute

github.com

Side by side

Figurego-mutestingpymute
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Mutation Testing Tools8.0 (#6)7.7 (#9)
LicenseThe repository identifies the project as MIT licensed.The repository identifies its license as Unlicense.
Purposego-mutesting performs mutation testing on Go source code to find code that is not covered by tests.Pymute is a mutation testing tool for Python and Pytest written in Rust.

Plans

go-mutesting

  • go-mutestingFree

go-mutesting pricing →

pymute

  • Free/open-sourceFree

pymute pricing →

In their own words

go-mutesting

go-mutesting is a framework for mutation testing Go code to identify parts of a program that tests may not cover. It changes source code in controlled ways, runs tests, and reports whether each mutation is killed or survives; surviving mutations are accompanied by a source patch. Its mutation score reflects the share of generated mutations killed by the test suite. Targets may be Go files, directories, or packages, including recursive `...` patterns, while `_test` files are excluded. By default, it replaces the original file with a mutation and runs that package’s tests. Alternatively, an external command can test each mutation, with environment variables describing the change and exit codes indicating the result. Built-in mutators cover branches, comparisons, boolean expressions, statement removal, and Cosmos SDK arithmetic and comparisons. Custom mutators can be registered through the Mutator interface. The MIT-licensed tool is free and runs on Linux or in self-hosted environments. Its README positions mutation testing as a supplement to automatic test suites and cautions that false positives can occur.

Visit github.com

pymute

pymute is a free mutation testing tool for Python projects using pytest or tox, written in Rust. It creates a temporary directory for each mutant and changes Python file text rather than operating on the abstract syntax tree. Pytest is the default runner, and documented mutation types include math operators, conjunctions, booleans, control flow, comparisons and numbers. By default, it reports mutants that survive because tests pass; other output levels can show caught mutants or process output. Options let users filter modules with a glob, select tests and mutation types, set thread count and cap the number of mutants. That cap runs a randomly selected subset. Installation uses Cargo from crates.io or GitHub and requires Rust and Cargo. With pytest, tests need to run from the project root in independent copies and exercise the local copy rather than an installed package. Tox sets up a separate environment and installs the package for each mutant, which the project describes as considerably slower. Parallel threads each need temporary disk space, and a run may fail if /tmp runs out. The repository identifies its license as Unlicense.

Visit github.com