【发布时间】:2016-11-10 05:04:41
【问题描述】:
我在 Spring Web 模型-视图-控制器 (MVC) 框架应用程序中使用 Mockito(在 MIT 许可下发布的 Java 开源测试框架)进行了这个 junit 测试 我在控制器中有这个方法:
@RequestMapping(value = { "/devices" } , method = { RequestMethod.GET, RequestMethod.POST} )
public void initGetForm(@ModelAttribute("searchForm") final SearchForm searchForm,
HttpServletRequest request,
HttpServletResponse response,
Locale locale) throws Exception {
String newUrl = request.getContextPath() + "/devices/" + locale;
if (locale !=null && isValid(locale)) {
newUrl = request.getContextPath() + "/devices/" + DEFAULT_LOCALE;
}
redirectPermanently (response, newUrl);
}
protected void redirectPermanently (HttpServletResponse response, String to) {
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location", to);
response.setHeader("Connection", "close");
}
这是我的测试课:
@Test
public void testInitGetForm() throws Exception {
controller.initGetForm(emptySearchForm(), request, response, null);
}
@Before
public void setUpTest() {
request = new MockHttpServletRequest();
response = new MockHttpServletResponse();
}
是否可以检查响应的标头和状态?????
【问题讨论】:
-
此测试不使用 Mockito。
标签: java spring-mvc junit