【问题标题】:writing junit for custom spring validator class为自定义 spring 验证器类编写 junit
【发布时间】:2012-02-08 13:56:29
【问题描述】:

如何为自定义 spring 验证器实现类编写单元测试用例。例如

公共类 RegistrationValidator 实现了 Validator。

只是想知道各种方法。我是 spring 新手,所以探索所有选项。

谢谢, S

【问题讨论】:

    标签: spring junit validation


    【解决方案1】:

    创建一个错误对象, 创建一个验证器实例,

    调用 yourValidator(testData, errors)

    根据testData检查错误是否按照您预期的方式修改

    @Test
    public void testValidateWithUserWithoutLogin() {
        User u = new User(); //your domain object, for example a user with "login=null"
    
        Errors errors = new BeanPropertyBindingResult(u, "u");
    
        MyValidator validator = newValidator();
    
        validator.validate(p, errors);  // 'validator' under test
    
        assertTrue(errors.hasErrors());
        assertNotNull( errors.getFieldError("login") );
    }
    

    顺便说一句:你应该看看 JSR 303-Bean Validation,Spring 3.0 也支持它。但对于大多数用例来说,它更容易使用(代码更少)。

    【讨论】:

    • 非常感谢 :) 我可以用这个例子编写 junit 类
    • 这里应该如何使用组验证?
    • @jaranda:这个问题和答案是关于 Spring Validator (org.springframework.validation.Validator) 而不是 (javax.validation.Validator)。 Spring Validator 没有 Group 概念。
    • @Ralph 感谢您指出;关于如何在使用组时测试自定义弹簧验证器的任何线索?这个 (stackoverflow.com/questions/9744988/…) 在没有指定组的情况下工作。真的可以吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多