Quick Start

Install Gooze, preview what will be mutated, run mutation testing, then view reports.

Installation

Install the latest gooze binary to your Go bin directory:

go install gooze.dev/pkg/gooze@latest

This command downloads Gooze and installs it. Next, verify:

gooze version

(Optional) Create a config file

Gooze can read gooze.yaml. This is useful in CI and for shared settings.

gooze init

This only creates the file. It does not run tests.

List files and mutation counts

Preview which files will be mutated and how many mutations apply.

gooze list ./...

Exclude directories/files using regex (repeat the flag as needed):

gooze list -x '^vendor/' -x '^internal/mocks/' ./...

If you get 0 mutations, first check you are running from your module root (where go.mod is).

Run mutation testing

Execute mutation testing across the target paths.

gooze run ./...

Make it faster

Run multiple workers in parallel:

gooze run -p 4 ./...

Force a full re-run

If you suspect cached results are reused:

gooze run --no-cache ./...

Reports

By default, Gooze writes mutation reports to .gooze-reports (override with -o/--output).

View the last run:

gooze view

Or point view at an explicit directory:

gooze view -o .gooze-reports

In the interactive UI you can usually:/ to filter,enter to open the diff, and q to quit.

(Optional) Shard in CI

Sharding splits work across CI jobs. Example with 3 jobs:

gooze run -s 0/3 ./...
gooze run -s 1/3 ./...
gooze run -s 2/3 ./...

After all jobs finish, merge and view:

gooze merge
gooze view