A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

断言:python assert断言是声明布尔值必须为真的判定,如果发生异常就说明表达式为假。
可以理解assert断言语句为raise-if-not,用来测试表示式,其返回值为假,就会触发异常并可打印出指定的信息(info)。
常用的assert断言:
以下断言都是在判断为假时执行assert语句抛出指定异常,其中msg可以自定义
序号        断言方法        描述
1        assertEqual(arg1, arg2, msg=None)        验证arg1=arg2,不等则false并抛出异常
2        assertNotEqual(arg1, arg2, msg=None)        验证arg1 != arg2, 相等则false并抛出异常
3        assertTrue(expr, msg=None)        验证expr是true,如果为false,则false并抛出异常
4        assertFalse(expr,msg=None)        验证expr是false,如果为true,则false并抛出异常
5        assertIn(arg1, arg2, msg=None)        验证arg1是arg2的子串,不是则false并抛出异常
6        assertNotIn(arg1, arg2, msg=None)        验证arg1不是arg2的子串,是则false并抛出异常
7        assertIsInstance(obj, cls, msg=None)        验证obj是cls的实例,不是则false并抛出异常
8        assertNotIsInstance(obj, cls, msg=None)        验证obj不是cls的实例,是则false并抛出异常
9        assertIsNone(expr, msg=None)        验证expr是None,不是则false并抛出异常
10        assertIsNotNone(expr, msg=None)        验证expr不是None,是则false并抛出异常
11        assertLess(arg1, arg2, msg=None)        验证arg1<arg2 , 如果大于等于则false并抛出异常
12        assertLess(arg1, arg2, msg=None)        验证arg1<arg2, 如果大于则false并抛出异常
13        assertDictEqual(dic1, dic2, msg=None)        验证字典dic1和字典dic2是否相等,如果不等则false并抛出异常
使用时机:
我们什么时候应该使用断言呢?如果没有特别的目的,断言应该用于如下情况:
防御性的编程
在代码开始添加注释是个好的开端,但是人们都不太喜欢读和更新这些注释,这些注释会很快变得过时。但对于断言,我们可以同时对这块代码编写文档,如果这些断言被违反了,会直接引起一个简单而又直接的失败。
运行时对程序逻辑的检测
合约性检查(比如前置条件,后置条件)
在用例执行前后判断是否对环境造成影响,即条件的前后值是否发生了改变。
程序中的常量

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马