gpt4 book ai didi

unit-testing - 如何测试 spring 2.5 Controller 上使用的绑定(bind)器/属性编辑器

转载 作者:行者123 更新时间:2023-12-02 03:02:19 26 4
gpt4 key购买 nike

我有一个带注释的 Controller ,其方法需要模型和绑定(bind)结果

@RequestMapping(method = RequestMethod.POST)
public ModelAndView submit(@ModelAttribute(“user”) User user, BindingResult bindingResult) {
//do something
}

如何测试绑定(bind)结果?如果我使用用户和绑定(bind)结果调用该方法,那么我不会测试绑定(bind)过程。我想可能会有一些东西需要 MockHttpServletRequest 并返回模型和绑定(bind)结果,有什么建议吗?

最佳答案

您是否正在尝试测试绑定(bind)(在调用此方法之前发生)或者是否正在尝试测试“提交”处理程序方法?

您可以使用如下方式测试绑定(bind):

 @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...

}

关于unit-testing - 如何测试 spring 2.5 Controller 上使用的绑定(bind)器/属性编辑器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com