JSR 303, исключение ValidationException при использовании конструктора по умолчанию в POJO - PullRequest
1 голос
/ 11 ноября 2011

Первый и второй тест пройдены успешно (что означает, что проверка была выдана), но третий тест не пройден. Из-за требований инфраструктуры, которую я использую, у меня должен быть конструктор по умолчанию для моего POJO. Как видно из второго теста, валидация работает при использовании конструктора по умолчанию, однако по какой-то причине ValidationException не генерируется, как видно из третьего теста. Кто-нибудь знает, почему не проходит третий тест?

Я использую Spring Data Graph с базой данных Neo4J.

@Test(expected = ValidationException.class) //succeds
public void shouldThrowValidationException() {
    Employee employee = new Employee(null, "Stevens");
    employee.persist();
}

@Test() //succeds
public void shouldNotThrowValidationException() {
    Employee employee = new Employee();
    employee.persist();
    assertEquals(1, validator.validate(employee).size()); 
    //validate returns a collection of ConstraintViolations
}

@Test(expected = ValidationException.class) //fails
public void shouldThrowValidationException2() {
    Employee employee = new Employee();
    employee.persist();
}


@NodeEntity
public class Employee {

    @NotNull
    @Size(min = 2, max = 20)
    private String firstname;
    private String lastname;

    public Employee() {
    }

    public Employee(String firstname, String lastname) {
        this.firstname = firstname;
        this.lastname = lastname;
    }
}
...