4

使用启用了Scala 插件的最新版本的 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.

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

4

2 回答 2

3

好的,这很容易:

import org.specs2.runner.JUnitRunner
@RunWith(classOf[JUnitRunner])
class FooSpec extends Specification {
  // test code
  ...
}
于 2016-01-14T11:58:05.007 回答
0

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

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

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 框架在他们的代码中硬编码了这样的版本

于 2020-07-13T13:42:55.993 回答