使用wiremock时异步测试的ConditionTimeout

问题描述

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

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

这是我的wiremock类定义

@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. Java 14
  2. 线模 2.26.2
  3. Spring Boot 2.3.2.RELEASE

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)