我有一个跨多个测试类使用的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....
}
堆:
- 爪哇 14
- 线模 2.26.2
- 春季启动 2.3.2.RELEASE