Я бы хотел протестировать метод, который возвращает Future
. Мои попытки были следующими:
import org.specs2.mutable.Specification
import scala.concurrent.ExecutionContext.Implicits.global
import scala.util.{Failure, Success}
class AsyncWebClientSpec extends Specification{
"WebClient when downloading images" should {
"for a valid link return non-zero content " in {
val testImage = AsyncWebClient.get("https://www.google.cz/images/srpr/logo11ww.png")
testImage.onComplete { res =>
res match {
case Success(image) => image must not have length(0)
case _ =>
}
AsyncWebClient.shutDown
}
}
}
}
Помимо того, что я не могу выполнить этот код, я думаю, что может быть лучший способ тестирования фьючерсов с Future
-ориентированным соглашением.
Как это сделать правильно в specs2?