Skip to content
SPECIFICTION
Get listed

LittleDarwin vs pytest-gremlins

LittleDarwin

aliparsai.github.io

pytest-gremlins

github.com

Side by side

FigureLittleDarwinpytest-gremlins
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
LinuxYesYes
Plans published11
Spec score · Mutation Testing Tools8.3 (#4)7.7 (#10)
InstallationThe documentation says to install LittleDarwin with pip and run it as a Python module.The project documents installation with pip, uv, and Poetry.
LicenseThe project is free software under the GNU General Public License, version 3 or later.The project is MIT licensed.
PurposeLittleDarwin generates mutants of Java source code and runs a build command to check whether the test suite detects them.pytest-gremlins is a pytest plugin that injects small code mutations and checks whether tests catch them.
ReportsA full analysis generates a report in the `LittleDarwinResults` directory.It supports console, HTML, and JSON reports, including multiple report formats in one run.
RuntimeThe project describes itself as a Java mutation testing framework written in Python.The guide says a first mutation-testing run may take 10–100 times as long as a normal test run; caching can make later runs faster.

Plans

LittleDarwin

  • Free and open-sourceFree

LittleDarwin pricing →

pytest-gremlins

  • pytest-gremlinsFree

pytest-gremlins pricing →

In their own words

LittleDarwin

LittleDarwin is a Java mutation testing framework written in Python, available for Linux. It generates altered versions, or mutants, of Java source code, then runs a configured build command for each mutant to check whether the test suite detects the change. Its analysis has a mutation phase and a build phase, where each build is checked for success or failure. Users can select null-check or method-level mutation operators, or use all operators. The --higher-order option sets the mutation order, and the guide demonstrates second-order mutants. Project settings include a test project path and test command, build command, working directory, initial build command, cleanup commands, and build timeout. A Maven example runs `mvn clean test` for each mutant. Whitelist filters restrict analysis to selected packages or files, while blacklist filters exclude them. Generated mutants and full-analysis reports go into a LittleDarwinResults directory, and surviving mutants are reported. Installation uses pip, followed by running LittleDarwin as a Python module. The project is free under the GNU General Public License version 3 or later and is supported through donations.

Visit aliparsai.github.io

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