Scalamu is a mutation testing engine for Scala.
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)
See sbt-scalamu
IntelliJ integration is currently in the works.
Scalamu was hugely inspired by PIT an amazing mutation testing system for JVM.