使用standaloneSetup
完所有功能后,您将为特定控制器执行设置。
如果您不想配置整个应用程序上下文(用webAppContextSetup
代替standaloneSetup
),可以通过将代码更改为以下内容来手动设置异常处理程序:
@Before
public void setup() throws IOException {
MockitoAnnotations.initMocks(this);
mockmvc = mockmvcBuilders.standaloneSetup(controller).setHandlerExceptionResolvers(new ExceptionHandlerExceptionResolver()).build();
}
@Test
public void test() throws Exception {
mockmvc.perform(get("/verifyCert.controller").contentType(MediaType.APPLICATION_JSON).accept(MediaType.APPLICATION_JSON)).andExpect(status().isForbidden());
}
之所以可行,是因为ExceptionHandlerExceptionResolver是Spring MVC用于基于@ExceptionHandler
注释处理异常的类。
检查出一个覆盖一个越来越困难的情况下(使用我的大相关答案@ControllerAdvice
上含有类@ExceptionHandler
)。