前言
说到 Java 的断言,我第一次听到这个名词的时候,还是在上大学的测试课,老师第一堂课就让我们学习了断言assert
,然而因为那个老师是教安卓的,我忘记有没有使用断言框架了,反正那时用着没感觉它是 Java 的东西,后面又很少接触测试的东西,就几乎没有碰过断言assert
了。
那么为什么现在我会写关于断言assert
的内容呢?
我当然不是为了水文章啦,肯定是为了学习 Java 的冷门小知识!
接下来,我从以下四个方面来介绍assert
:
- 什么是断言
- 断言的使用场景
- 如何开启断言
- 断言如何使用
第一点简单介绍一下断言,后面三个点则是分别从使用场景、断言的开启、断言的使用这三个方面更加详细地介绍断言。
什么是断言
Java 是从 JDK1.4 开始支持断言的,主要用于程序代码的调试或测试阶段,千万不能用在正式环境上。当然啦,JVM是默认关闭断言的,想要开启断言还得向 JVM 输入一个参数-enableassertions
才可以启用断言,这个后面再讲。
基本的使用就是assert condition
,当 condition 为 true,就继续往下运行;当 condition 为 false,就抛出一个错误,程序停止。
断言的使用场景
断言的使用场景比较局限,大部门都是围绕着测试的。
- 限定某段代码中某个变量的合理范围,一旦不符合就抛出错误,需要让程序员再修改代码。表达式结果等同理。
- 代替 if?这个不太靠谱,不可能为了一个 if 去让整个程序停止,直接用卫语句
if(condition){return null;}
最省事。 - 断言只能用在开发和测试阶段,