Первый и второй тест пройдены успешно (что означает, что проверка была выдана), но третий тест не пройден.
Из-за требований инфраструктуры, которую я использую, у меня должен быть конструктор по умолчанию для моего 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;
}
}