【问题标题】:generate javax.validation.ConstraintViolationException for unit test为单元测试生成 javax.validation.ConstraintViolationException
【发布时间】:2018-06-13 15:06:28
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: spring-boot exception constraints hibernate-validator


    【解决方案1】:

    你到底想达到什么目的?

    因为如果您只需要例外,您可以创建一个ConstraintViolationException,而其中没有任何违规行为。

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

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

    【讨论】:

    • 我需要异常才能有一个实际的 ConstrainViolation,它有一个字段和一条消息。我会尝试 Validator.validate,这可能会有所帮助。
    猜你喜欢
    • 2016-05-09
    • 1970-01-01
    • 2023-03-10
    • 2013-04-16
    • 1970-01-01
    • 2012-07-10
    • 2010-10-04
    • 1970-01-01
    • 2020-04-28
    相关资源
    最近更新 更多