scala play应用程序中未执行测试清理挂钩

scala play应用程序中未执行测试清理挂钩,scala,playframework,sbt,Scala,Playframework,Sbt,下面是我的Build.scala文件 测试中没有错误,但测试后不会执行清理挂钩 问题是什么 import play.Project._ import sbt._ import sbt.Keys._ object AppBuild extends Build { val appName = "test" val appVersion = "1.0" val dependencies = Seq( "org.scalatest" % "scalatest_2.10" % "2

下面是我的Build.scala文件

测试中没有错误,但测试后不会执行清理挂钩
问题是什么

import play.Project._
import sbt._
import sbt.Keys._

object AppBuild extends Build {
  val appName = "test"
  val appVersion = "1.0"

  val dependencies = Seq(
    "org.scalatest" % "scalatest_2.10" % "2.0.RC1"
  )

  val main = play.Project(
    appName, appVersion,
    dependencies,
    settings = Defaults.defaultSettings
  )
  .settings(
    scalaVersion := "2.10.1",
    testOptions in Test += Tests.Cleanup (
      () => println("Cleanup")
    )
  )
}
不适用于中提到的分叉测试运行

但有一些变通办法:

将fork设置为false

这很简单,但可能会减慢测试速度,因为它们不会并行执行

sbt.Keys.fork in Test := false
使用测试框架

例如,使用受保护的方法afterAll()

覆盖测试任务

我最喜欢的

test in Test ~= { testTask =>
  val result = testTask
  println("Cleanup")
  result
}
1) fork false:works 2)不能使用before和afterall:因为,我需要在所有测试之前和之后执行方法3)您的fav:也可以,但是可以添加before钩子吗?您可以添加before任务:
test in Test ~= { testTask =>
  val result = testTask
  println("Cleanup")
  result
}