我正在使用带有 Spray 和 WireMock 的 Akka actor 系统来存根 Web 服务。我还想验证外部 http 请求是否已经发出。
在以下用例中,向我的 Spray 服务器发出 POST 请求,该服务器应向外部服务发送请求:
stubFor(get(urlEqualTo("/external-service"))
.willReturn(aResponse()
.withStatus(200)
.withBodyFile("response-body.json")));
myService ! Post("/my-service", FormData(Seq("id" -> "1")))
Thread.sleep(1000)
verify(postRequestedFor(urlEqualTo("/services/harvesterService")))
在各种示例中,我看到了 Thread.sleep 技术,否则 ActorSystem 将关闭,我的服务将永远不会向外部服务发出 http 请求。
有可能避免这种情况吗?WireMock 可以等待外部服务的请求吗?可能有一些超时......