2

我想对这个 Spring 控制器方法进行单元测试:

@Autowired
private MyValidator validator;

public String register(
    HttpServletRequest request, 
    ModelMap model, 
    Principal principal,
    @PathVariable Plain plain, 
    RedirectAttributes ratts,
    @ModelAttribute @Valid PlainMoreObject pmo, 
    BindingResult result) 
{

    validator.validate(pmo, result);

我正在使用 JMock。我如何模拟验证器以通过调用测试控制器

  controller.register(....) ?
4

1 回答 1

0

Spring 中有一个名为 ReflectionTestUtils (链接) 的辅助类,您可以使用它来将模拟 bean 注入到字段中。

@Mock MyValidator validatorMock;
ReflectionTestUtils.setField(controller, "validator", validatorMock);
controller.register(...);
于 2012-12-07T14:49:57.043 回答