() { StrykerReporter.Html, StrykerReporter.Progress }"
+ },
+ {
+ "name": "OpenReport",
+ "type": "StrykerOpenReport",
+ "format": "--open-report:{value}",
+ "default": "StrykerOpenReport.Html",
+ "help": "When this option is passed, generated reports should open in the browser automatically once Stryker starts testing mutants, and will update the report till Stryker is done. Both html and dashboard reports can be opened automatically."
+ },
+ {
+ "name": "Concurrency",
+ "type": "uint",
+ "format": "--concurrency {value}",
+ "help": "Change the amount of concurrent workers Stryker uses for the mutation testrun. Defaults to using half your logical (virtual) processor count.Example: an intel i7 quad-core with hyperthreading has 8 logical cores and 4 physical cores. Stryker will use 4 concurrent workers when using the default.
"
+ },
+ {
+ "name": "BreakAt",
+ "type": "uint",
+ "format": "--break-at {value}",
+ "default": "0",
+ "help": "Must be less than or equal to threshold low. When threshold break is set to anything other than 0 and the mutation score is lower than the threshold Stryker will exit with a non-zero code. This can be used in a CI pipeline to fail the pipeline when your mutation score is not sufficient."
+ },
+ {
+ "name": "ThresholdHigh",
+ "type": "uint",
+ "format": "--threshold-high {value}",
+ "default": "80",
+ "help": "Minimum good mutation score. Must be higher than or equal to threshold low. Must be higher than 0."
+ },
+ {
+ "name": "ThresholdLow",
+ "type": "uint",
+ "format": "--threshold-low {value}",
+ "default": "60",
+ "help": "Minimum acceptable mutation score. Must be less than or equal to threshold high and more than or equal to threshold break."
+ },
+ {
+ "name": "Output",
+ "type": "string",
+ "format": "--output {value}",
+ "help": "Changes the output path for Stryker logs and reports. This can be an absolute or relative path."
+ },
+ {
+ "name": "DisableBail",
+ "type": "bool",
+ "format": "--disable-bail",
+ "help": "Stryker aborts a unit testrun for a mutant as soon as one test fails because this is enough to confirm the mutant is killed. This can reduce the total runtime but also means you miss information about individual unit tests (e.g. if a unit test does not kill any mutants and is therefore useless). You can disable this behavior and run all unit tests for a mutant to completion. This can be especially useful when you want to find useless unit tests."
+ },
+ {
+ "name": "WithBaseline",
+ "type": "string",
+ "format": "--with-baseline:{value}",
+ "help": "Enabling with-baseline saves the mutation report to a storage location such as the filesystem. The mutation report is loaded at the start of the next mutation run. Any changed source code or unit test results in a reset of the mutants affected by the change. For unchanged mutants the previous result is reused. This feature expands on the since feature by providing you with a full report after a partial mutation testrun."
+ },
+ {
+ "name": "Since",
+ "type": "string",
+ "format": "--since:{value}",
+ "help": "Use git information to test only code changes since the given target. Stryker will only report on mutants within the changed code. All other mutants will not have a result.
If you wish to test only changed sources and tests but would like to have a complete mutation report see with-baseline.
Set the diffing target on the command line by passing a committish with the since flag in the format --since:. Set the diffing target in the config file by setting the since target option.
* For changes on test project files all mutants covered by tests in that file will be seen as changed.
"
+ },
+ {
+ "name": "Verbosity",
+ "type": "StrykerVerbosity",
+ "format": "--verbosity {value}",
+ "default": "StrykerVerbosity.Trace",
+ "help": "Change the console verbosity of Stryker when you want more or less details about the mutation testrun."
+ },
+ {
+ "name": "LogToFile",
+ "type": "bool",
+ "format": "--log-to-file",
+ "noArgument": true,
+ "help": "When creating an issue on github you can include a logfile so the issue can be diagnosed easier.File logging always uses loglevel trace.
"
+ },
+ {
+ "name": "DevMode",
+ "type": "bool",
+ "format": "--dev-mode",
+ "noArgument": true,
+ "help": "Stryker will not gracefully recover from compilation errors, but instead crash immediately. Used during development to quickly diagnose errors.Also enables more debug logs not generally useful to normal users.
"
+ },
+ {
+ "name": "Diag",
+ "type": "bool",
+ "format": "--diag",
+ "noArgument": true,
+ "help": "Enable diagnostic logging. This option produces verbose diagnostic output that is useful for troubleshooting problems or when reporting issues."
+ },
+ {
+ "name": "DashboardApiKey",
+ "type": "string",
+ "format": "--dashboard-api-key {value}",
+ "help": "The API key for authentication with the Stryker dashboard.
Get your api key at the stryker dashboard. To keep your api key safe, store it in an encrypted variable in your pipeline."
+ },
+ {
+ "name": "MsBuildPath",
+ "type": "string",
+ "format": "--msbuild-path {value}",
+ "help": "By default, Stryker tries to auto-discover msbuild on your system. If Stryker fails to discover msbuild you may supply the path to msbuild manually with this option."
+ },
+ {
+ "name": "BreakOnInitialTestFailure",
+ "type": "bool",
+ "format": "--break-on-initial-test-failure",
+ "noArgument": true,
+ "help": "Instruct Stryker to break execution when at least one test failed on initial test run."
+ },
+ {
+ "name": "TestRunner",
+ "type": "StrykerTestRunner",
+ "format": "--test-runner {value}",
+ "default": "vstest",
+ "help": "Specifies the test runner to use for executing tests during mutation testing.
Available options:
- vstest - The traditional Visual Studio Test Platform runner (default)
- mtp - The Microsoft Test Platform runner (preview)
The MTP test runner is a modern alternative that provides better performance in certain scenarios and supports newer testing frameworks like TUnit. However, it's still in preview and may have limitations compared to the VsTest runner."
+ },
+ {
+ "name": "AzureFileshareSas",
+ "type": "string",
+ "format": "--azure-fileshare-sas {value}",
+ "help": "When using the azure file storage provider you must pass credentials for the fileshare to Stryker. For authentication with the azure fileshare we support Shared Access Signatures (SAS).
The SAS should be configured with the following properties:
Allowed services:
Allowed resource types: Container
Object
Allowed permissions: Read
, Write
, Create
For more information on how to configure a SAS check the Azure documentation."
+ },
+ {
+ "name": "S3BucketName",
+ "type": "string",
+ "format": "--s3-bucket-name {value}",
+ "help": "When using the S3 provider you must set the bucket name where baselines will be stored.
The baseline reports are stored under the key StrykerOutput//stryker-report.json
within the bucket by default. If a project name is set, the key becomes StrykerOutput///stryker-report.json
."
+ },
+ {
+ "name": "S3Region",
+ "type": "string",
+ "format": "--s3-region {value}",
+ "help": "When using the S3 provider, setting the region is optional. If not set, the AWS SDK resolves the region using its default configuration chain (for example environment variables or shared profiles)."
+ },
+ {
+ "name": "S3Endpoint",
+ "type": "string",
+ "format": "--s3-endpoint {value}",
+ "help": "When using a non-AWS S3-compatible service (e.g. MinIO, Backblaze B2) you can set a custom endpoint URL. This is optional; when not set the default AWS S3 endpoint is used.
Authentication uses the default AWS credential resolution chain (environment variables, shared credentials file, IAM role, etc.). For non-AWS services, set AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
environment variables."
+ }
+ ]
+ }
+ }
+ ],
+ "enumerations": [
+ {
+ "name": "StrykerMutationLevel",
+ "values": [
+ "Basic",
+ "Standard",
+ "Advanced",
+ "Complete"
+ ]
+ },
+ {
+ "name": "StrykerReporter",
+ "values": [
+ "All",
+ "Html",
+ "Progress",
+ "Dashboard",
+ "Cleartext",
+ "CleartextTree",
+ "Dots",
+ "Json"
+ ]
+ },
+ {
+ "name": "StrykerOpenReport",
+ "values": [
+ "Html",
+ "Dashboard"
+ ]
+ },
+ {
+ "name": "StrykerVerbosity",
+ "values": [
+ "Error",
+ "Warning",
+ "Info",
+ "Debug",
+ "Trace"
+ ]
+ },
+ {
+ "name": "StrykerTestRunner",
+ "values": [
+ "vstest",
+ "mtp"
+ ]
+ }
+ ]
+}