在看老项目中,发现业务中有代码使用Java的断言,在线上部署时如果不开启断言功能很容易出问题(一般线上不会开启断言,可能会影响后续业务)
例如下面伪代码
public static void main(String[] args) {
int a = 0;
assert a > 1;
System.out.println("使用Java自带断言需谨慎");
}
未开启断言时执行结果:
开启断言时执行结果:
idea中开启断言方法
结论:单元测试时用断言比较好,线上慎用Java自带的断言,可以使用Spring中的Assert.notNull等