我的期货测试方式是使用value1。 我迁移到play2.2。我发现,我习惯的测试方式已经过去了。 @ scala.deprecated(“Use scala.concurrent.Promise instead,”,“2.2”)玩2.2 - specs2 - 如何测试游戏2.2中的期货?
任何帮助将不胜感激。
奥利弗
我的期货测试方式是使用value1。 我迁移到play2.2。我发现,我习惯的测试方式已经过去了。 @ scala.deprecated(“Use scala.concurrent.Promise instead,”,“2.2”)玩2.2 - specs2 - 如何测试游戏2.2中的期货?
任何帮助将不胜感激。
奥利弗
如documentation描述您可以实现PlaySpecification特质。这种特质提供了一种等待的方法。您也可以覆盖默认的超时时间。
import akka.util.Timeout
import scala.concurrent.duration._
class FooSpec extends PlaySpecification {
override implicit def defaultAwaitTimeout: Timeout = 20.seconds
"foo" should {
"handle futures" {
val result = await(Future(true))
result should beTrue
}
}
}
您也可以覆盖单个测试场景默认的超时时间,就像这样:
import akka.util.Timeout
import scala.concurrent.duration._
class FooSpec {
"foo" should {
"handle futures" with DefaultAwaitTimeout {
override implicit def defaultAwaitTimeout: Timeout = 20.seconds
val result = await(Future(true))
result should beTrue
}
}
}
要在特定位置停止你的代码,使用
Thread.sleep(milliseconds)