2012-02-08 6 views
1

Как написать единичный тестовый футляр для пользовательского класса реализации валидатора весов. Например,запись junit для пользовательского весового класса валидатора

открытый класс RegistrationValidator реализует валидатор.

Просто хотел знать различные подходы. Новинка к весне, поэтому изучаю все варианты.

Спасибо, S

ответ

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")); 
} 

BTW: вы должны взглянуть на JSR 303-Bean Validation, также поддерживается Spring 3.0. Но это проще в использовании (меньше кода) для большинства случаев использования.

+0

Спасибо alot :) Я могу написать классы junit с этим примером – challenge

+0

Как предполагается использовать групповую валидацию здесь? – jarandaf

+0

@jaranda: Этот вопрос и ответ о Spring Validator ('org.springframework.validation.Validator') не о (' javax.validation.Validator'). Spring Validator не имеет концепции группы. – Ralph

Смежные вопросы