微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用wiremock时异步测试的ConditionTimeout

如何解决使用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 举报,一经查实,本站将立刻删除。