我的期貨測試方式是使用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)