junitannotationshibernate-annotationsspring-annotations

How to test @Valid


In my entities I have some hibernate annotations for validation, like @NotEmpty, @Pattern.. and others

In my controller, on save action, it has an @Valid parameter.

But if any entity has any required field, and there is no annotation I will have problems.

So I would like to test each entity, to ensure they have the necessary notes.

Something like:

@Test(expect=IllegalArgumentException.class)
public void testAllNull() {
    Person p = new Persson(); // Person name has an @NotEmpty
    validator.validate(p);
}

But how to validate it? Who is called to check @Valid?

Thanks.


Solution

  • I found out how to check:

        @Autowired
        private LocalValidatorFactoryBean validator;
    
        ...
    
        validator.validateProperty(object, propertyName)