Mutations
A mutation is a tiny change in your code. Gooze applies one mutation and runs tests to see if tests notice.
Statuses
Each mutation ends in a status. Simple meaning:
- Killed: tests failed for the mutation (usually good)
- Survived: tests still passed (usually means weak/missing assertion)
- Skipped: Gooze did not run it (example: no matching test)
- Error: Gooze had an unexpected error
About timeouts: different Gooze versions can show timeouts differently. If you see many suspicious kills, check logs and try --verbose.
Mutation types (common)
Gooze usually enables a subset of mutation types by default. Common ones you may see:
- arithmetic
- boolean
- numbers
- comparison
- logical
- unary
What to do when you see a survivor
A survivor is a hint. It usually means: your tests do not check this behavior.
- Open the diff in
gooze view. - Ask: what behavior changed?
- Add a test that would fail if this behavior changes.
- Run Gooze again and see if it is killed now.
gooze view