【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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术