Skip to main content

Announcing Real-time Reporting for Stryker.NET

ยท 2 min read
Xander Vedder
Stryker Team

Wait no longer to see the results of your mutation testing! With this new addition to Stryker.NET, you can receive real-time feedback, enabling you to identify and address survived mutants as soon as they are identified!

Getting startedโ€‹

Install Stryker.NET version 3.8.0 or higher using the getting started, or update the dotnet-stryker tool version to at least 3.8.0 in your .config/dotnet-tools.json file and run dotnet tool restore:

"tools": {
"dotnet-stryker": {
+ "version": "3.8.0",
"commands": ["dotnet-stryker"]
}
}

Enable real-time reporting with dotnet stryker --open-report (or -o for short) in Stryker.NET!

The problemโ€‹

Mutation testing is a slow process, and developers must wait until the end of the mutation test to see results. This delay in feedback can result in a long inner dev loop, as developers may need to spend additional time debugging and fixing issues that could have been identified earlier in the process.

The solutionโ€‹

With real-time reporting, the HTML report updates whenever a new mutant result is available, providing developers with immediate feedback. As a result, developers can identify and address issues in their code earlier because they don't have to wait until mutation testing finishes to see results.

Demoโ€‹

See how the report gets updates in real-time:

It is also possible to view a file with mutants that have not run yet (these mutants are marked as Pending):

Pending mutants

What's next?โ€‹

Now that this feature is implemented for Stryker.NET, we will be focussing of getting it into all other flavors as well. So look forward to real-time reporting coming to StrykerJS and Stryker4s in the near future.

Furthermore, since we're sharing the HTML report as a separate open source project, we encourage other mutation testing frameworks to start implementing this feature as well. We'll add documentation to mutation-testing-elements to help implementers soon.