mutannot/skills/write-mutations/SKILL.md
2026-04-29 07:34:07 +02:00

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> <...>`.