scala play应用程序中未执行测试清理挂钩
下面是我的Build.scala文件 测试中没有错误,但测试后不会执行清理挂钩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
问题是什么
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
}