我正在使用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
有关系吗?
我该如何解决?