Akka-http-testkit возвращает вложенный список вместо плоского - PullRequest
0 голосов
/ 30 ноября 2018

Я использую 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?Как я могу это исправить?

...