25 lines
782 B
Markdown
25 lines
782 B
Markdown
---
|
|
name: Write mutations
|
|
description: Trigger when asked to write mutations
|
|
---
|
|
|
|
Annotate tests with one or more mutations (`MutationCase`s) that will cause the test to fail.
|
|
|
|
Example:
|
|
|
|
```fs
|
|
[<Fact>]
|
|
[<MutationCase("calc-operator-mixup", "Calculator/Calculator.fs", 4, "value + 1", "value - 1")>]
|
|
member _.AddOne_increments() =
|
|
Assert.Equal(42, Calculator.addOne 41)
|
|
```
|
|
|
|
In this example,
|
|
|
|
* `calc-operator-mixup` is the mutation name,
|
|
* `Calculator/Calculator.fs` is the path to the production code (relative to the repository root),
|
|
* `4` is the number of the line to mutate,
|
|
* `value + 1` is the string to find, and
|
|
* `value - 1` is the string to replace it with.
|
|
|
|
Verify your work with `mutannot <path/to/test-project.fsproj> --run <mutation id 1> <mutation id 2> <...>`.
|