【unittest】7、unittest之断言
1、说明
- 让程序替代人为判断测试程序执行结果是否符合预期结果的过程
2、提前注意
- 所有的断言方法都有一个msg参数,如果指定msg参数的值,则将该信息作为失败的错误信息返回
3、为什么要学习断言
- 自动化脚本在执行的时候一般都是无人值守状态,我们不知道执行结果是否符合预期结果,所以我们需要让程序代替人为检测执行的结果是否符合预期结果,这就需要使用断言
4、unittest常用断言方法
| 方法 | 解释 | 备注 |
| assertTrue(expr,msg=None) | 验证expr是true,如果为false,则fail | bool(expr) is true |
| assertFalse(expr, msg=None) | 验证expr是false,如果为true,则fail | bool(expr) is false |
| assertEqual(arg1, arg2, msg=None) | 验证arg1=arg2,不等则fail | arg1=arg2 |
| assertNotEqual(arg1, arg2, msg=None) | 验证arg1 != arg2,相等则fail | arg1 != arg2 |
| assertIsNone(obj, msg=None) | 验证obj是None,不是则fail | obj is none |
| assertIsNotNone(obj, msg=None) | 验证obj不是None,是则fail | obj not is none |
| assertIn(member, container, msg=None) | 验证是否member in container | member in container |
| assertNotIn(member, container, msg=None) | 验证是否member not in container | member not in container |
| assertIs(arg1, arg2, msg=None) | 验证arg1、arg2是同一个对象,不是则fail | arg1 is arg2 |
| assertIsNot(arg1, arg2, msg=None) | 验证arg1、arg2不是同一个对象,不是则fail | arg1not is arg2 |
| assertIsInstance(obj, cls, msg=None) | 验证obj是cls的实例,不是则fail | isInstance(obj, cls) |
| assertNotIsInstance(obj, cls, msg=None) | 验证obj不是cls的实例,不是则fail | not isInstance(obj, cls) |
| assertGreater(first, second, msg=None) | 验证first > second,否则fail | |
| assertGreaterEqual(first, second, msg=None) | 验证first >= second,否则fail | |
| assertLess(first, second, msg=None) | 验证first < second,否则fail | |
| assertLessEqual(first, second, msg=None) | 验证first <= second,否则fail | |
| assertRegexpMatches(text, regexp, msg=None) | 验证正则表达式regexp搜索==匹配==的文本text regexp | 通常使用re.search() |
5、使用方式
- 断言方法已经在unittest.TestCase类中定义好了,而且我们自定义的测试类已经集成了TestCase,所以在测试方法中直接调用即可
- 举例:

本文来自博客园,作者:郭祺迦,转载请注明原文链接:https://www.cnblogs.com/guojie-guojie/p/47d155feb2d98d67831792a9c47a3972.html

浙公网安备 33010602011771号