模拟弹簧控制器验证器 [英] Mocking spring controller validator

查看:93
本文介绍了模拟弹簧控制器验证器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to unit test this Spring controller method:

@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.如何通过调用来模拟验证器以测试控制器

I'm using JMock. How do I mock the validator in order to test controller by calling

  controller.register(....) ?

推荐答案

Spring中有一个名为ReflectionTestUtils(

There is a helper class in Spring called ReflectionTestUtils (link) you can use to inject mocked beans to fields.

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

这篇关于模拟弹簧控制器验证器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆