模拟弹簧控制器验证器

时间:2012-12-07 08:14:52

标签: spring junit jmock

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

1 个答案:

答案 0 :(得分:0)

Spring中有一个名为ReflectionTestUtils(link)的辅助类,可用于将模拟bean注入字段。

@Mock MyValidator validatorMock;
ReflectionTestUtils.setField(controller, "validator", validatorMock);
controller.register(...);