1

我有一个跨多个测试类使用的wiremock实例,直到最近它一直运行良好,当用于测试异步方法时,当测试类单独运行时,测试通过但当整个测试运行时(mvn测试),一些异步类测试因 ConditionTimeOut错误而失败。验证失败是因为,我认为,当调用验证并且等待库正在等待它时,wiremock 服务器没有完成。只是我基于此链接的理解-> https://github.com/tomakehurst/wiremock/issues/565

https://github.com/tomakehurst/wiremock/issues/574

这是我的wiremock类def:

@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureWireMock(port = 9099)
public class WireMockTest {
    @Autowired
    public wireMockClassA wireMockClassA;
    @Autowired
    public wireMockClassB wireMockClassB;

   //other definitions here and more wiremock class...
    
}

这是一个示例测试异步类:

public class SaleWireMockTest extends WireMockTest {

@Test
    void call_sale_endpoint_and_return_200() {
        wireMockClassA.callSaleEndpoint(PATH,  request, HttpStatus.OK);

        makeAsyncCall();
        await().atMost(1, TimeUnit.SECONDS).untilAsserted(() ->
                 wireMockClassA.verify(1, request));
    }

 //more test methods here....

}

堆:

  1. 爪哇 14
  2. 线模 2.26.2
  3. 春季启动 2.3.2.RELEASE
4

0 回答 0