Skip to content
Mutation testing for Scala
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cli/src/main/scala/org/scalamu/cli
common/src/main
compilation/src/main/scala/org/scalamu/compilation
core/src
idea-plugin
project
report/src/main
sbt-plugin
scalac-plugin/src
testing
.gitignore
.scalafmt.conf
LICENSE
README.md
build.sbt

README.md

Maven metadata URI

Scalamu

Scalamu is a mutation testing engine for Scala.

Getting started

CLI quick start

Although the preferred method is to use SBT/IntelliJ plugin scalamu can be run from the command line too. Simply download org.scalamu.entry-point jar and launch it from the command line as follows:

java -jar %path to scalamu jar% \
    %optional configuration parameters%
    %report directory% \
    %directories containing source files% \
    %directories containing test classes% \

For an in-depth explanation on configuration parameters see usage info below.

scalamu
Usage: scalamu-cli [options] <reportDir> <sourceDirs> <testClassDirs>

  <reportDir>              directory to create reports in
  <sourceDirs>             list of source directories
  <testClassDirs>          list of test class directories
  --cp <value>             list of "compile" classpath elements
  --tcp <value>            list of "test" classpath elements
  --jvmOpts <value>        arguments for forked JVM running tests
  --mutations <value>      set of active mutators
  --includeSource <regex1>,<regex2>..
                           only mutate certain source files
  --includeTestClasses <regex1>,<regex2>..
                           only run certain test classes
  --testOptions framework1=optionString1, framework2=optionString2...
                           per framework test runner options
  --scalacOptions <value>  options to be passed to scalac
  --timeoutFactor <value>  factor to apply to normal test duration before considering being stuck in a loop
  --timeoutConst <value>   flat amount of additional time for mutation analysis test runs
  --parallelism <value>    number of runners used to perform mutation analysis
  --verbose                be verbose about every step
  --recompileOnly          do not perform mutation analysis (internal testing option)

SBT quick start

See sbt-scalamu

IntelliJ quick start

IntelliJ integration is currently in the works.

Credits

Scalamu was hugely inspired by PIT an amazing mutation testing system for JVM.

You can’t perform that action at this time.