如何测试Spring 2.5控制器上使用的活页夹/属性编辑器
问题内容:
我有一个带注释的控制器,该方法带有一种期望模型和绑定结果的方法
@RequestMapping(method = RequestMethod.POST)
public ModelAndView submit(@ModelAttribute(“user”) User user, BindingResult bindingResult) {
//do something
}
如何测试绑定结果?如果我用用户和绑定结果调用该方法,那么我不会测试绑定过程。我认为,有些东西需要MockHttpServletRequest并返回模型和绑定结果,有什么建议吗?
问题答案:
您是要测试绑定(在调用此方法之前发生)还是要测试“提交”处理程序方法?
您可以使用以下方法测试绑定:
@Test
public void testHandlerMethod() {
final MockHttpServletRequest request = new MockHttpServletRequest("post", "/...");
request.setParameter("firstName", "Joe");
request.setParameter("lastName", "Smith");
final User user = new User();
final WebDataBinder binder = new WebDataBinder(user, "user");
binder.bind(new MutablePropertyValues(request.getParameterMap()));
final ModelAndView mv = controllerTestInstance.submit(user, binder.getBindingResult());
// Asserts...
}