如何创建SBT任务以测试Play Framework中的Scala代码

时间:2019-02-28 17:42:14

标签: intellij-idea playframework-2.6

我正在使用IntelliJ进行开发。我创建了一个test文件的spec文件夹。要测试spec,请右键单击项目目录,然后选择run->all tests

我想创建一个sbt任务来测试代码。我知道我必须在build.sbt中定义tast,但我不知道将运行测试的命令。

哪个命令可以在游戏中运行测试?该文档说(https://www.playframework.com/documentation/2.7.x/ScalaTestingWithScalaTest#Testing-your-application-with-ScalaTest

You can run tests from the Play console. To run all tests, run test.。但是我不知道如何玩游戏机。

1 个答案:

答案 0 :(得分:0)

我很乐意接受更好的答案。到目前为止,我已经完成了似乎可行的工作。基本上,要运行play测试,我需要调用sbt testplay console只是sbt console的包装。在build.sbt中,我编写了以下任务。这些任务类似于转到cmdterminal中的顶级项目目录并运行sbt test

在build.sbt

def runBackendTests(implicit dir:File):Int = runScript("sbt test")

lazy val `backend-test` = taskKey[Unit]("Run Backend tests when testing application.")

`backend-test` := {
  implicit val backendRoot = baseDirectory.value //this should be top level project directory. The tests are in test directory in this directory
  println("backend root is ",backendRoot)
  if(runBackendTests != 0) throw new Exception("Backend tests failed")
}