Java Wiremock没有响应

Java Wiremock没有响应,java,spring,spring-boot,wiremock,Java,Spring,Spring Boot,Wiremock,我有一个RESTAPI微服务器的集成测试,该测试占用了一些外部资源。它们中的大多数都能工作,但有一个在测试过程中不可用 其他测试也以同样的方式工作 当请求直接从测试发送时,或者在测试处于线程中时从邮递员调用时,给定的存根就可以工作。sleep() 如果测试调用的某个微服务发送了与上面使用的相同的请求,或者如果微服务暂停(在调试断点上暂停),则从邮递员发送了相同的请求,则存根不起作用。其他存根在这些条件下工作 虽然我还没有在代码中找到它,但我的入口点服务正在响应,然后异步处理请求。同时,测试正

我有一个RESTAPI微服务器的集成测试,该测试占用了一些外部资源。它们中的大多数都能工作,但有一个在测试过程中不可用

  • 其他测试也以同样的方式工作
  • 当请求直接从测试发送时,或者在测试处于线程中时从邮递员调用时,给定的存根就可以工作。sleep()
  • 如果测试调用的某个微服务发送了与上面使用的相同的请求,或者如果微服务暂停(在调试断点上暂停),则从邮递员发送了相同的请求,则存根不起作用。其他存根在这些条件下工作

虽然我还没有在代码中找到它,但我的入口点服务正在响应,然后异步处理请求。同时,测试正在接收响应并与WireMock一起关闭,而微服务无法再访问被模拟的资源。

问题似乎在于测试正在完成,WireMock在异步操作完成之前关闭。在这种情况下,您可以使用来等待(轮询)预期的请求

以下是WireMock测试中的一个示例:

是的,是个打字错误。修正了问题文本中的问题。
@ClassRule
public static WireMockRule wireMockRule = new WireMockRule(
        wireMockConfig()
            .port(8080)
            .usingFilesUnderDirectory("src/integration-test/resources"));
       public static void stubExtService(WireMockRule wireMockRule) {
                wireMockRule.stubFor(post(urlPathEqualTo("/my/url"))
                    .willReturn(aResponse().withHeader("Content-Type", "application/json")
                        .withStatus(200)
                        .withBodyFile("json/response.json")));
        }