Examples

Practical examples for common use cases.

Basic Usage

Test All Packages

mutagoph run

Test Specific Package

mutagoph run --target ./internal/parser

Test Specific File

mutagoph run --files internal/parser/parser.go

Test Specific Line

mutagoph run --lines internal/parser/parser.go:50

Development Workflow

Quick Feedback

Use lite mutations for fast iteration:

mutagoph run --mutations lite

Watch Mode

Continuous testing during development:

mutagoph watch --mutations lite

Test Recent Changes

Only test your last commit:

mutagoph run --diff-base HEAD~1

CI/CD Scenarios

Pull Request Validation

mutagoph run \
  --diff-base origin/main \
  --mutations standard \
  --min-score 70

Release Validation

mutagoph run \
  --mutations mutilated \
  --min-score 80 \
  --output html \
  --output-file mutation-report.html

Nightly Full Scan

mutagoph run \
  --mutations mutilated \
  --clear-cache \
  --output json \
  --output-file mutations-$(date +%Y%m%d).json

Reporting

Generate HTML Report

mutagoph run --output html --output-file report.html

Generate JSON for Processing

mutagoph run --output json --output-file results.json

Both Outputs

mutagoph run --output json --output-file results.json
mutagoph report --input results.json --format html --output report.html

Configuration Examples

Minimal Config (.mutagoph.yml)

target: "./..."
mutation_set: standard
min_mutation_score: 70

Full Config

target: "./..."
mutation_set: standard
parallelism: dynamic
dynamic_level: balanced
timeout: 30s
output: terminal

exclude_generated: true
exclude_vendor: true
exclude_patterns:
  - "**/testdata/**"
  - "**/mock_*.go"

cache: true
min_mutation_score: 80.0

package_thresholds:
  github.com/myorg/myapp/core: 90.0

CI Config

mutation_set: standard
parallelism: medium
timeout: 15s
output: json
output_file: mutations.json
min_mutation_score: 70

Performance Optimization

Large Codebase

# Use diff-based + caching
mutagoph run \
  --diff-base main \
  --cache \
  --mutations standard

Limited Resources

# Low parallelism, shorter timeout
mutagoph run \
  --parallelism low \
  --timeout 15s \
  --mutations lite

Maximum Speed

# High parallelism, aggressive caching
mutagoph run \
  --parallelism mutilated \
  --cache