mix muex (Muex v0.3.3)
View SourceRun mutation testing on your project.
Usage
mix muex [options]Options
--files- Directory, file, or glob pattern (default: "lib")--path- Synonym for --files--language- Language adapter to use (default: "elixir")--mutators- Comma-separated list of mutators (default: all)--concurrency- Number of parallel mutations (default: number of schedulers)--timeout- Test timeout in milliseconds (default: 5000)--fail-at- Minimum mutation score to pass (default: 100)--format- Output format: terminal, json, html (default: terminal)--min-score- Minimum complexity score for files to include (default: 20)--max-mutations- Maximum number of mutations to test (0 = unlimited, default: 0)--no-filter- Disable intelligent file filtering--verbose- Show detailed progress information (file analysis, optimization, etc.)--optimize- Enable mutation optimization heuristics (default: enabled)--no-optimize- Disable mutation optimization heuristics--optimize-level- Optimization preset: conservative, balanced, aggressive (default: balanced)--min-complexity- Minimum complexity for mutations (default: 2, with --optimize)--max-per-function- Max mutations per function (default: 20, with --optimize)
Examples
# Run on all lib files (with intelligent filtering)
mix muex
# Run on all files without filtering
mix muex --no-filter
# Run on specific directory
mix muex --files "lib/muex"
# Run on specific file
mix muex --files "lib/my_module.ex"
# Run with glob patterns
mix muex --files "lib/muex/*.ex"
mix muex --files "lib/**/compiler*.ex"
# Use specific mutators
mix muex --mutators arithmetic,comparison,boolean,literal,function_call,conditional
# Set minimum complexity score
mix muex --min-score 30
# Limit total mutations to test
mix muex --max-mutations 500
# Show detailed progress information
mix muex --verbose
# Fail if mutation score below 80%
mix muex --fail-at 80
# Output JSON to terminal
mix muex --format json
# Output JSON with progress details
mix muex --format json --verbose
# Generate HTML report (writes to muex-report.html)
mix muex --format html
# Enable mutation optimization (balanced preset)
mix muex --optimize
# Use aggressive optimization
mix muex --optimize --optimize-level aggressive
# Custom optimization settings
mix muex --optimize --min-complexity 3 --max-per-function 15