assert是一种软件测试的方法,提供了一种在代码中正确性检查的机制,目前很多开发语言都支持这种机制。
它的作用是检查一个boolean表达式,程序的正确运行必须保证这个表达式为TRUE,返回false则代表程序不正常,系统需要提供告警信息并退出程序。
assert主要是用来保证程序的正确性,一般用于程序的开发和测试,为了提高程序运行的效率,软件发布后,assert检查默认是关闭的。
assert的用法: 包括两种表达式:
- assert expression
- assert expression: expressionOther expression 代表boolean表达式,expressionOther代表基本类型或者是一个对象。
对于Java程序,要用(-ea)去开启assert检查
应用的范围:
- 检查控制流
- 检查输入参数是否有效
- 检查函数结果是否有效
- 检查程序不变量
assert与if的区别: assert是在调试程序时使用,不能用assert来控制程序的业务流程,因为去掉了assert意味着修改了程序的正常逻辑,但是if本身就是控制程序逻辑的。