为单元测试生成javax.validation.ConstraintViolationException

时间:2018-06-13 15:06:28

标签: spring-boot exception constraints hibernate-validator

Springboot:我有一个模拟服务,一个方法需要返回一个javax.validation.ConstraintViolationException,以便正确地对调用者类进行单元测试。

我似乎找不到在Hibernate Validators中为此生成ConstraintViolationException或ConstraintViolation的方法。

我错过了一些解决方案吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您想要达到什么目标?

因为如果您只需要例外,可以创建ConstraintViolationException而不会有任何违规行为。

如果你想要违规(你只需要将一组违规传递给构造函数),我会说你有几种可能性:

  • 您可以简单地实现ConstraintViolation,因为它是一个界面,只需将一些代码放在您认为合适的位置。
  • 否则,我会触发真正的验证(使用Validator.validate(myBean))并从那里获取违规行为。
  • 您可以使用ConstraintViolationImpl#forBeanValidation()伪造违规但它是内部类,因此在将来的HV版本中可能会中断。