MutPy vs Stryker Dashboard
MutPy
github.comStryker Dashboard
dashboard.stryker-mutator.ioSide by side
| Figure | MutPy | Stryker Dashboard |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Linux | Yes | — |
| API | — | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 1 |
| Spec score · Mutation Testing Tools | 7.9 (#7) | 7.2 (#17) |
| License | The project is licensed under the Apache License, Version 2.0. | The Stryker site states that Stryker is released under the Apache 2.0 license. |
| Purpose | MutPy is a mutation testing tool for Python source code that evaluates the quality of software tests. | Stryker Dashboard hosts mutation testing reports online and provides a mutation score badge for repositories. |
Plans
In their own words
MutPy
MutPy is a mutation testing tool for Python that checks whether a test suite catches changes to its source code. It creates mutations at the abstract syntax tree level, then runs tests to reveal which changes go undetected. The project describes compatibility with Python 3.3 and later. It uses unittest by default, while pytest support is experimental. Reports can be generated in YAML or HTML, and coverage analysis can restrict mutation to code exercised by tests. Users can also select or disable operators and sample a percentage of mutants. MutPy supports higher order mutations and includes standard and experimental operator sets. Installation is documented through pip from PyPI or from the repository source. The software is free at free and licensed under Apache License 2.0. PyPI lists version 0.6.1, released November 17, 2019, as the latest release. The README warns that disabling stdout can damage tests that interact with sys.stdout.
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.