2013-10-02 9 views

risposta

11

è possibile implementare il tratto PlaySpecification come descritto nella documentation. Questo tratto fornisce un metodo di attesa. Puoi anche ignorare il timeout predefinito.

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 
    } 
    } 
} 
2

È inoltre possibile eseguire l'override del timeout predefinito per un singolo scenario di test, in questo modo:

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 
    } 
    } 
} 

Per fermare il codice in una posizione specifica, utilizzare

Thread.sleep(milliseconds)