我正在尝试为我的控制器编写集成测试。
异常处理程序作为依赖项的一部分存在于库中。但我的webMvc测试无法调用该处理程序
方法引发异常
@WebMvcTest(controllers = MyController.class, excludeAutoConfiguration = {
SecurityAutoConfiguration.class})
@ExtendWith(SpringExtension.class)
public class WebMockTest {
@Autowired
private MockMvc mockMvc;
@MockBean
private MyService service;
@Test
public void shall_make_get_call_404_not_ok() throws Exception {
when(service.getById(any())).thenThrow(new CustomException("Not found"));
this.mockMvc.perform(get("/items/" + "12")).andDo(print())
.andExpect(status().isNotFound());
}
}
在这里,我无法获得响应,但测试方法抛出了异常。
如何触发异常处理程序我。
1条答案
按热度按时间cbeh67ev1#
您需要添加@Import(异常处理程序.类)。
我描述了一个类似的问题,当使用@WebMvcTest与特定的控制器和它的解决方案在这里:https://stackoverflow.com/a/74191408/7789681