mix muex (Muex v0.3.0)

View Source

Run mutation testing on your project.

Usage

mix muex [options]

Options

  • --files - Directory, file, or glob pattern (default: "lib")
  • --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: 0)
  • --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 file analysis details
  • --optimize - Enable mutation optimization heuristics (default: disabled)
  • --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 file analysis details
mix muex --verbose

# Fail if mutation score below 80%
mix muex --fail-at 80

# Generate JSON report
mix muex --format json

# Generate HTML report
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