我使用帶有Spray和WireMock的Akka actor系統來存儲Web服務。我也想驗證外部http請求已經完成。使用WireMock測試異步行爲
在下列情況下使用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能否等待對外部服務的請求?可能有一些超時...