PSMutant

0.8.0

Mutation testing for PowerShell. Injects small faults (flip -eq to -ne, $true to $false, N to N+1, drop -not) into your scripts using the PowerShell AST and reports how many your Pester suite catches - the metric line coverage cannot give you. Runs mutants in a throwaway sandbox so your source is never modified. Requires Pester 5.2.0 or later AT RUN TIME, and delibera
Mutation testing for PowerShell. Injects small faults (flip -eq to -ne, $true to $false, N to N+1, drop -not) into your scripts using the PowerShell AST and reports how many your Pester suite catches - the metric line coverage cannot give you. Runs mutants in a throwaway sandbox so your source is never modified. Requires Pester 5.2.0 or later AT RUN TIME, and deliberately does not declare it as a RequiredModule: PSMutant runs under whichever Pester >= 5.2.0 you have loaded rather than importing one for you. Install Pester yourself if you do not already have it.
Show more

Minimum PowerShell version

7.0

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name PSMutant

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name PSMutant

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) Fortigi. MIT licensed.

Package Details

Author(s)

  • Fortigi

Tags

mutation-testing testing pester ast quality test-quality coverage

Functions

Invoke-PSMutation

Dependencies

This module has no dependencies.

Release Notes

PSMutant 0.8.0

- Killed mutants are much cheaper: the tests that killed a neighbour run first.
- With more than one worker, each worker is a pwsh process of its own, and runs scale further.
- Four new opt-in operators reach the comparisons BinaryOperator never touched.
- On Linux, a backslash in a file name is kept in the paths a report shows.
- A config value of the wrong type is named on every PowerShell.
- -Incremental reuses the previous report's verdicts for every file nothing touched.
- A mutant that stops the tests from being found is no longer a survivor.
- An equivalent mutant can be declared in the code.
- Logging calls are no longer mutated.
- Patterns in mutate and tests, and pairing by name.

Full release notes: https://github.com/Fortigi/PSMutant/releases/tag/v0.8.0

FileList

Version History

Version Downloads Last updated
0.8.0 (current version) 9 10/19/2026
0.7.0 23 10/16/2026
0.6.0 21 10/10/2026
0.5.0 142 9/1/2026
0.4.0 14 8/28/2026
0.3.2 27 8/23/2026
0.3.1 28 8/21/2026
0.2.2 11 8/18/2026
0.2.1 8 8/18/2026
0.2.0 12 8/17/2026
0.1.0 93 7/3/2026
Show more