pymute vs Stryker Mutator
pymute
github.comStryker Mutator
stryker-mutator.ioSide by side
| Figure | pymute | Stryker Mutator |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Linux | Yes | — |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Mutation Testing Tools | 7.7 (#9) | 7.2 (#18) |
| License | The repository identifies its license as Unlicense. | Stryker is released under the Apache 2.0 license. |
| Purpose | Pymute is a mutation testing tool for Python and Pytest written in Rust. | Stryker performs mutation testing by inserting changes into code and running unit tests against the changed code to assess test effectiveness. |
| Test runners | It supports pytest as the default runner and tox as an alternative. | Stryker is described as test runner agnostic, and StrykerJS documentation lists plugins for test runners including Cucumber, Jasmine, Jest, and Karma. |
Plans
In their own words
pymute
pymute is a free mutation testing tool for Python projects using pytest or tox, written in Rust. It creates a temporary directory for each mutant and changes Python file text rather than operating on the abstract syntax tree. Pytest is the default runner, and documented mutation types include math operators, conjunctions, booleans, control flow, comparisons and numbers. By default, it reports mutants that survive because tests pass; other output levels can show caught mutants or process output. Options let users filter modules with a glob, select tests and mutation types, set thread count and cap the number of mutants. That cap runs a randomly selected subset. Installation uses Cargo from crates.io or GitHub and requires Rust and Cargo. With pytest, tests need to run from the project root in independent copies and exercise the local copy rather than an installed package. Tox sets up a separate environment and installs the package for each mutant, which the project describes as considerably slower. Parallel threads each need temporary disk space, and a run may fail if /tmp runs out. The repository identifies its license as Unlicense.
Stryker Mutator
Stryker Mutator is mutation-testing software for JavaScript, TypeScript, C#, and Scala. It changes source code in more than 30 defined ways, then runs unit tests against those variants to show how effectively the tests detect faults. The project supports incremental analysis, parallel execution, surviving-mutant reports, and mutation quality gates. It is test-runner agnostic, with listed integrations including Cucumber, Jasmine, Jest, Karma, Mocha, Tap, Vitest, and a command runner. Code analysis and parallel test-runner processes are used to speed runs, although the FAQ notes that mutation jobs can be slow and recommends improving unit-test performance or limiting files. Stryker is free, released under Apache 2.0, and available through API or self-hosted use. Its cloud dashboard stores reports and mutation-score badges, free for open source, with GitHub account setup and github.com as the supported Git provider. Reports can be sent directly or by HTTP PUT with an API key.