Skip to main content

Migration guide

This guide instructs how to update major versions of Stryker.NET.

V0.x --> V1.x

โญ Updated runtime

The .NET runtime for Stryker.NET has been updated from 3.1 to 5.0.

Please download and install .NET 5.0 or update your pipeline to support .NET 5.

Note that you do not have to update your application to use dotnet 5. Dotnet 5 is only a runtime requirement for stryker to be able to run on your system.

โญ Options rework

Almost all options have been renamed or work different. A fundamental difference on the CLI is how multi value options are passed.

Multi value options

The old annotation for passing multi value options was confusing and not based on any standards. For example this is how multiple reporters were passed ๐Ÿ‘Ž

dotnet stryker --reporters "['html', 'progress']"

This now looks like ๐Ÿ‘

dotnet stryker --reporter "html" --reporter "progress"

Options migration guide

A lot of options have been renamed. We have also decided that some options either do not belong on the commandline or don't belong in the configuration file. For example an API key should not be stored in the configuration file so that possibility has been removed.

Options migration overview:

Old cliNew cliOld jsonNew json
config-file-pathf | config-fileโŒโŒ
max-concurrent-testrunnersc | concurrencymax-concurrent-testrunnersconcurrency
dev-modedev-modedev-modeโŒ
solution-paths | solutionsolution-pathsolution
log-fileL | log-to-filelog-fileโŒ
log-levelV | verbositylog-levelverbosity
mutation-levell | mutation-levelmutation-levelmutation-level
threshold-highthreshold-highthresholds.highthresholds.high
threshold-lowthreshold-lowthresholds.lowthresholds.low
threshold-breakb | break-atthresholds.breakthresholds.break
reportersr | reporter (flag allowed multiple times)reportersreporters
project-filep | projectproject-fileproject
diffsincediffsince
timeout-msโŒtimeout-msadditional-timeout
excluded-mutationsโŒexcluded-mutationsignore-mutations
ignore-methodsโŒignore-methodsignore-methods
mutatem | mutatemutatemutate
language-versionโŒlanguage-versionlanguage-version
coverage-analysisโŒcoverage-analysiscoverage-analysis
abort-test-on-failโŒabort-test-on-faildisable-bail
disable-testing-mix-mutationsโŒdisable-testing-mix-mutationsdisable-mix-mutants
test-projectsโŒtest-projectstest-projects
dashboard-urlโŒdashboard-urldashboard-url
dashboard-api-keydashboard-api-keydashboard-api-keyโŒ
project-nameโŒdashboard-projectproject-info.name
module-nameโŒdashboard-moduleproject-info.module
dashboard-versionv | versiondashboard-versionproject-info.version
diff-ignore-filesโŒdiff-ignore-filessince.ignore-changes-in
azure-storage-urlโŒazure-storage-urlbaseline.azure-fileshare-url
dashboard-fallback-versionโŒdashboard-fallback-versionbaseline.fallback-version
baseline-storage-locationโŒbaseline-storage-locationbaseline.provider
dashboard-comparewith-baselinedashboard-comparebaseline
git-diff-targetsincegit-diff-targetsince.target
azure-storage-sasazure-fileshare-sasazure-storage-sasโŒ
files-to-excludeโŒfiles-to-excludeโŒ
test-runnerโŒtest-runnerโŒ