Я использую akka-http-testkit
для тестирования маршрутов и scalamock
для издевательств над моим классомКонечной точкой является GET
с полезной нагрузкой.
У меня есть метод, который возвращает Future[List[Map[String, Any]]]
- в основном необработанные строки из БД.Это работает нормально с curl, но мое утверждение не удается сравнить JSON, потому что он имеет [[
и ]]
вместо [
и ]
.
Я не уверен почему, потому что с curl этоработает нормально - это мой тестовый код:
"return correct json from mock" in {
val getRequest = HttpRequest(
HttpMethods.GET,
uri = "/endpoint",
entity = HttpEntity(MediaTypes.`application/json`, jsonStringRequest))
val fake = stub[FakeService]
(fake.query (_: String, _: MyParsedObject)(_: ExecutionContext)) when ("endpoint", myParsedObject, ec) returns Future.successful(responseAsMap)
getRequest ~> route ~> check {
responseAs[String] shouldBe jsonStringResponse
}
}
И это моя ошибка:
"[[ { "aaa" : 123}, { "aaa" : 123 } ]]"
was not equal to "[ { "aaa" : 123}, { "aaa" : 123 } ]"
Это как-то связано с тем, что Future[T]
вместо T
?Как я могу это исправить?