pytest-gremlins vs Stryker Dashboard
pytest-gremlins
github.comStryker Dashboard
dashboard.stryker-mutator.ioSide by side
| Figure | pytest-gremlins | Stryker Dashboard |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Linux | Yes | — |
| API | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Mutation Testing Tools | 7.7 (#10) | 7.2 (#17) |
| CI integrations | The GitHub Action documentation points to manual CI workflow examples for GitHub Actions, GitLab CI, CircleCI, and Dagger. | Automatic project and version retrieval is documented for Travis, CircleCI, and GitHub Actions across the listed Stryker implementations; Azure DevOps and GitLab CI are marked supported only for Stryker.NET. |
| License | The project is MIT licensed. | The Stryker site states that Stryker is released under the Apache 2.0 license. |
| Purpose | pytest-gremlins is a pytest plugin that injects small code mutations and checks whether tests catch them. | Stryker Dashboard hosts mutation testing reports online and provides a mutation score badge for repositories. |
Plans
In their own words
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.
Stryker Dashboard
Stryker Dashboard is a free, open-source web service for publishing mutation-testing reports and displaying a mutation score badge for repositories. It accepts reports from mutation-testing frameworks that follow the mutation testing report schema, with named language coverage for JavaScript, TypeScript, C#, Scala, and other compatible frameworks. Users enable a repository by signing in with GitHub. Reports can arrive through a Stryker dashboard reporter or by HTTP PUT, authenticated with an API key in STRYKER_DASHBOARD_API_KEY or the X-Api-Key header. Documentation lists full reports, mutation-score reports, and dashboard settings for Stryker, Stryker.NET, and Stryker4s. The API can group multiple reports for one version with an optional module value, useful for monorepos, or accept a score-only report for a badge without storing other report information. Automatic project and version retrieval is documented for Travis, CircleCI, and GitHub Actions across those implementations; Azure DevOps and GitLab CI are supported only for Stryker.NET. The backend currently supports github.com as its Git provider.