在启用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
时,测试结果已经编译完毕。
执行这些测试需要做些什么?
答案 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框架在其代码中硬编码了这样的版本