2012-02-08 14 views
1

如何爲自定義spring驗證器實現類編寫單元測試用例。例如爲定製spring驗證器類編寫junit

公共類RegistrationValidator實現Validator。

只是想知道各種方法。春天是新的,所以探索所有的選擇。

感謝, 小號

回答

3

創建一個錯誤對象, 創建驗證器的一個實例,

調用yourValidator(TESTDATA,錯誤)

檢查錯誤在您預期的方式修改,依賴於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驗證,它也支持Spring 3.0。但是在大多數用例中使用(更少的代碼)是easyer。

+0

非常感謝:)我能夠用這個例子寫出junit類 – challenge 2012-02-09 04:47:16

+0

它應該如何在這裏使用組驗證? – jarandaf 2013-07-11 12:43:03

+0

@jaranda:這個問題和答案是關於Spring Validator('org.springframework.validation.Validator')而不是about('javax.validation.Validator')。 Spring Validator沒有Group概念。 – Ralph 2013-07-11 14:13:47