Skip to content
SPECIFICTION
Get listed

go-mutesting vs pytest-gremlins

go-mutesting

github.com

pytest-gremlins

github.com

Side by side

Figurego-mutestingpytest-gremlins
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYesYes
Self-hostedYes—
Plans published11
Spec score · Mutation Testing Tools8.0 (#6)7.7 (#10)
LicenseThe repository identifies the project as MIT licensed.The project is MIT licensed.
Purposego-mutesting performs mutation testing on Go source code to find code that is not covered by tests.pytest-gremlins is a pytest plugin that injects small code mutations and checks whether tests catch them.

Plans

go-mutesting

  • go-mutestingFree

go-mutesting pricing →

pytest-gremlins

  • pytest-gremlinsFree

pytest-gremlins 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

pytest-gremlins

pytest-gremlins is a pytest plugin for checking whether an existing test suite catches small changes to code. It runs mutation tests against Python projects and can report results in the console, HTML, or JSON, including multiple formats in one run. Getting started requires Python 3.11 or later, pytest 7.0 or later, and existing tests; installation is documented with pip, uv, and Poetry. The project’s quick-start command is `pytest --gremlins`. To manage execution, it uses mutation switching, coverage-guided test selection, incremental analysis, and parallel execution, and it works with pytest-xdist. Options can be set in `pyproject.toml` or with command-line flags, while inline pragmas can pardon specific mutations. A GitHub Action can run the checks and fail a workflow if its score misses a threshold; CI examples also cover GitLab CI, CircleCI, and Dagger. It is a free, MIT-licensed package for Linux, classified as Alpha. The guide warns that an initial run may take 10–100 times as long as a normal test run, though caching can shorten later runs. It also notes that equivalent mutations can make a perfect score unattainable and unnecessary.

Visit github.com