Spring 模拟弹簧控制器验证器

Spring 模拟弹簧控制器验证器,spring,junit,jmock,Spring,Junit,Jmock,我想对这个Spring控制器方法进行单元测试: @Autowired private MyValidator validator; public String register( HttpServletRequest request, ModelMap model, Principal principal, @PathVariable Plain plain, RedirectAttributes ratts, @ModelAttribut

我想对这个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(....) ?

Spring中有一个名为ReflectionTestUtils()的帮助器类,可以用来将模拟bean注入字段

@Mock MyValidator validatorMock;
ReflectionTestUtils.setField(controller, "validator", validatorMock);
controller.register(...);
检查以下答案: