assert断言
简介
assert 关键字后面可以接一个表达式,只要表达式的最终结果为 True,那么断言通过,用例执行成功,否则用例执行失败。
assert <表达式> [, arguments]
# 等价于
if not <表达式>:
raise AssertionError(arguments)
括号中的参数可有可无,参数将会在表达式的布尔值为False时抛出,使得错误更加明晰。
应用场景:
- 判断系统类型
import sys
assert ('linux' in sys.platform), "该代码只能在 Linux 下执行"
与条件语句的区别
assert 的作用和 if 语句非常接近,但是assert 的检查是可以被关闭的,比如在命令行模式下运行 Python 程序时,加入 -O 选项就可以使程序中的 assert 失效。一旦 assert 失效,其包含的语句也就不会被执行。
所以可以将 assert 更适用与一些非固定错误,而条件语句用在一些必要的错误,如果不好区分这两者的应用场景,那么建议只使用条件语句。
使用场景
- 实际开发中,不建议使用,或者尽量少用。