У меня есть маршрут akka-http, который возвращает Source
, содержащий бесконечный поток объектов. Как я могу проверить это с помощью набора тестов маршрута? Я хотел бы проверить только первые n элементов потока, но я взглянул на код тестового набора, и похоже, что нет прямого доступа к Source
в ответе. Он всегда преобразуется в последовательность ByteString
, что в моем случае просто вызывает TimeoutException
, поскольку поток никогда не завершается.
Для справки, проблему можно воспроизвести с маршрутом, выглядящим примерно так:
case class Bar(wibble: String, wobble: String)
path("stream") {
get {
complete {
import JsonSupport._
implicit val streamingSupport = EntityStreamingSupport.json()
Source.unfold(1) { i =>
Thread.sleep(10)
Some((i + 1, Bar(i.toString, (i + 1).toString)))
}
}
}
}
JsonSupport
?? - person sarveshseri   schedule 20.01.2017JsonSupport
определяется как: объект JsonSupport расширяет SprayJsonSupport с помощью DefaultJsonProtocol { неявный val barFormat = jsonFormat2 (Bar) } - person Andrew Brett   schedule 21.01.2017