I\'d like to test a method that returns a Future
. My attempts were as follows:
import org.specs2.mutable.Specification
import scala.concurrent.Exec
You can use the Matcher.await
method to transform a Matcher[T]
into a Matcher[Future[T]]
:
val testImage: Future[String] =
AsyncWebClient.get("https://www.google.cz/images/srpr/logo11ww.png")
// you must specify size[String] here to help type inference
testImage must not have size[String](0).await
// you can also specify a number of retries and duration between retries
testImage must not have size[String](0).await(retries = 2, timeout = 2.seconds)
// you might also want to check exceptions in case of a failure
testImage must throwAn[Exception].await