Skip to content
SPECIFICTION
Get listed

go-mutesting vs PIT

go-mutesting

github.com

PIT

pitest.org

Side by side

Figurego-mutestingPIT
Price fromFree—
Free planYes—
Free trial——
Open source——
Windows—Yes
macOS—Yes
LinuxYesYes
Self-hostedYesYes
Plans published10
Spec score · Mutation Testing Tools8.0 (#6)7.0 (#20)
Purposego-mutesting performs mutation testing on Go source code to find code that is not covered by tests.PIT runs unit tests against automatically modified versions of application code to measure whether tests detect faults.
SupportThe README invites users to make feature requests and report bugs or problems.PIT directs users to its Google Group for support questions.

Plans

go-mutesting

  • go-mutestingFree

go-mutesting pricing →

PIT

No plans published.

PIT 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

PIT

PIT is a free mutation-testing tool for Java and JVM bytecode projects. It measures whether unit tests detect faults by running them against modified versions of application code. Configurable bytecode mutations can remove method calls, invert logic, or change return values. PIT selects and prioritizes tests using line coverage, execution speed, and naming conventions, then reports mutation coverage alongside line coverage. It can run from the command line, Ant, or Maven; third-party integrations are listed for Gradle, Eclipse, and IntelliJ. Java is supported directly, and Kotlin use is available through the ArcMutate plugin. PIT supports JUnit 3, JUnit 4, and TestNG; JUnit 5 needs a plugin. Versions 1.4.0 and later require Java 8 or above and JUnit or TestNG on the classpath. Mutation runs can take a long time depending on codebase size and test-suite speed, so PIT recommends focusing on changed code. It mutates bytecode and requires line numbers and source file names in that bytecode.

Visit pitest.org