Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On a similar note as pestphp/pest-plugin-type-coverage#19, I would like to add an output option for mutation coverage.
The format follows more or less the same as for the type coverage and usage is the same as well:
--mutate-output-json=[path]
This will output a computer-readable file which can be used for reporting and tracking historical changes (especially relevant for repositories that does not have full coverage).
Based on comments from the type coverage PR, I have followed a very similar pattern with a NullLogger as default that can then be overwritten, which also would let us extend this to other formats than JSON. I did an unset of the arg after usage because the configuration class did not like me passing the arg to it.
Notes
src/Plugins/Mutate.php
code to use as inspiration, so I just wrote a test for the JsonLoggerPlease do provide with feedback. Hope you'll consider support for this 🙏🏻 I will commit to keeping the output code maintained (tag me for related issues I'll be on it asap!)
Output example