我正在尝试编写测试,以覆盖MongoDB不可用的情况。在我的代码中,为了处理此事件,我捕获
DataAccessException
扔我自己的习俗
ServiceUnavailableException
返回503响应代码。
使用Testcontainers和MongoDB容器/MongoTemplate,当我停止MongoDB容器时,如何避免30秒的超时,以模拟Mongo不可用?
目前,30秒的超时使测试无法运行。我希望能够立即投出
数据访问异常
并断言503响应。
我的测试如下:
@Test
void savingDocumentToDbReturns503() throws Exception {
mongoDBContainer.stop();
mockMvc.perform(post("/endpoint")
.contentType(MediaType.APPLICATION_JSON)
.content(objectMapper.writeValueAsString(request)))
.andExpect(MockMvcResultMatchers.status().isServiceUnavailable());
mongoDBContainer.start();
}