背景:我有一个使用 Javax @Nonnull 注释的项目。IntelliJ 有一个很好的功能,可以启用/禁用这些类型的注释的运行时检查。但是,当通过 Ant 运行 jUnit 时,不会执行这些注释检查。我们最近发现了几个由于运行时检查差异而导致行为不正确的单元测试。
有两种我们知道但想避免的准解决方案:
- 将注释框架更改为 Lombok 或 Checker(缺点:大量更改,在产品代码和单元测试代码中执行的运行时检查)请参阅相关内容:JUnit not null test,https ://checkerframework.org/manual/#nullness -例子
- 为每个测试添加一个 javax 验证因子(缺点:新测试很容易成为非投诉,似乎需要对我们不想添加的验证类的 hibernate 依赖)查看相关内容:如何添加运行-@NotNull 注释的时间处理
我的问题:有没有办法在从 Ant 运行 jUnit 时启用 Javax 注释验证(无需更改注释框架或向测试类添加验证器)?