Java JSR303,在POJO中使用默认构造函数时未引发ValidationException
第一个和第二个测试成功(这意味着抛出了验证),但第三个测试失败。 由于我使用的框架的要求,我必须为我的POJO设置一个默认构造函数。正如在第二个测试中所看到的,当使用默认构造函数时验证确实有效,但是由于某些原因,Java JSR303,在POJO中使用默认构造函数时未引发ValidationException,java,validation,bean-validation,Java,Validation,Bean Validation,第一个和第二个测试成功(这意味着抛出了验证),但第三个测试失败。 由于我使用的框架的要求,我必须为我的POJO设置一个默认构造函数。正如在第二个测试中所看到的,当使用默认构造函数时验证确实有效,但是由于某些原因,ValidationException没有像在第三个测试中看到的那样抛出有人知道第三次测试失败的原因吗? 我将Spring数据图与Neo4J数据库一起使用。 @Test(expected = ValidationException.class) //succeds public voi
ValidationException
没有像在第三个测试中看到的那样抛出有人知道第三次测试失败的原因吗?
我将Spring数据图与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;
}
}