Good patterns for unit testing form beans that have annotation-based validation in Spring MVC

前端 未结 4 1382
旧时难觅i
旧时难觅i 2020-12-20 13:06

When using annotation based validation for a form bean, what is the best practice for unit-testing those beans in order to ensure that correct validations annotations are sp

4条回答
  •  难免孤独
    2020-12-20 14:09

    You can test it easily.

    Let's say you are using Hibernate Validator. More or less, it should be something like this

        import javax.validation.ConstraintViolation;
        import junit.framework.Assert;
        import org.hibernate.validator.HibernateValidator;
        import org.junit.Before;
        import org.junit.Test;
        import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
    
     private LocalValidatorFactoryBean localValidatorFactory;
    
    
    @Before
    public void setup() {
        localValidatorFactory = new LocalValidatorFactoryBean();
        localValidatorFactory.setProviderClass(HibernateValidator.class);
        localValidatorFactory.afterPropertiesSet();
    }
    
      @Test
      public void testNullValidationError() {
            final MyForm myForm= new MyForm ();
            myForm.setName(null);
            Set> constraintViolations =      localValidatorFactory.validate(myForm);
            Assert.assertTrue("Your error message", constraintViolations.notNull == null);
        }
    

提交回复
热议问题