使用gradle scala插件运行Scala测试

时间:2016-01-14 10:51:50

标签: gradle gradle-scala

在启用Scala Plugin的情况下使用最新版本的gradle(2.10),我正在尝试执行位于src/test/scala的测试。

但似乎没有任务可以运行这些:

$ ./gradlew tasks
....
Verification tasks
------------------
check - Runs all checks.
test - Runs the unit tests.

这两项任务都不会执行我的Scala测试。执行的唯一测试是src/test/java中的测试。我的Scala测试测试使用Specs2使用以下依赖项进行测试(build.gradle):

apply plugin: 'scala'

dependencies {
    testCompile(
        'org.specs2:specs2-core_2.12.0-M3:3.6.6-scalaz-7.2.0'
    )
}

我检查过:使用./gradlew compileTestScala时,测试结果已经编译完毕。

执行这些测试需要做些什么?

2 个答案:

答案 0 :(得分:3)

好的,很简单:

import org.specs2.runner.JUnitRunner
@RunWith(classOf[JUnitRunner])
class FooSpec extends Specification {
  // test code
  ...
}

答案 1 :(得分:0)

另一种解决方案:使用gradle插件com.github.maiflai.scalatest

对于这种解决方案,将使用org.scalatest.tools.Runner运行Scala测试。

dependencies {
    implementation 'org.scala-lang:scala-library:2.13.3'
    testImplementation 'org.scalatest:scalatest_2.13:3.2.0'
    testImplementation 'junit:junit:4.13'
    testImplementation 'com.vladsch.flexmark:flexmark-all:0.35.10'
}

flexmark的版本很重要,因为scalatest框架在其代码中硬编码了这样的版本