A plugin to enable the use of scalatest in a gradle Scala project.
http://plugins.gradle.org/plugin/com.github.maiflai.scalatest
This replaces the existing test task actions with a scalatest implementation.
In addition to your testCompile
dependency on scalatest, you also require a testRuntime
dependency on pegdown in
order to create the HTML report.
dependencies {
testCompile 'org.scalatest:scalatest_2.11:2+'
testRuntime 'org.pegdown:pegdown:1.1.0'
}
The default behaviour is to use as many parallel threads as you have available processors.
Test
tasks are modified at the time that you apply the plugin (as otherwise they would default to single-threaded).
To disable this, you should configure your test tasks accordingly.
test {
maxParallelForks = 1
}
Scalatest provides support for filtering tests by tagging. We cannot use the PatternSet
provided by the Test
task because it applies this filter to test files internally.
We therefore provide an extension named tags
to Test
tasks.
test {
tags {
exclude 'org.scalatest.tags.Slow'
}
}
task slowTest(type: Test) {
tags {
include 'org.scalatest.tags.Slow'
}
}