【发布时间】:2016-04-14 06:18:58
【问题描述】:
我正在使用 MockMvc 在简单的 Spring 应用程序中测试控制器。这是我第一次尝试进行测试。根据我找到的资源,我成功地运行了我的测试,但我不确定要检查什么响应。我的控制器只返回要呈现的视图名称: 索引页面(包含菜单栏和欢迎文本)、产品页面(包含菜单栏和空的产品表)和关于页面(再次菜单栏和一些关于作者的信息)。 测试看起来像这样:
mockMvc.perform(get("/myviews"))
.andExpect(status().isOk())
.andExpect(view().name("myviewsnames"))
.andExpect(forwardedUrl("/WEB-INF/jsp/myviewsjsps.jsp"));
但基于 MockMvcResultMatchers 文档https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/web/servlet/result/MockMvcResultMatchers.html 我看到很多其他的匹配选项。还有什么,为什么,我应该检查我的测试?谢谢。
【问题讨论】:
-
您可能还想测试异常处理。 Spring MVC 控制器可以将服务层抛出的异常转换为 HTTP 状态(例如错误请求、未经授权、未找到等)。然而,这可能对 Rest Controller 更有意义。
标签: spring spring-mvc testing controller