Python TestCase中的断言方法介绍


Posted in Python onMay 02, 2019

前言

测试是一个贯穿于整个开发过程的连续过程,从某个意义上说,软件开发的过程实际上就是测试过程。正如Martin Fowler所说的"在你不知道如何测试代码之前,就不该编写程序。而一旦你完成了程序,测试代码也应该完成。除非测试成功,你不能认为你编写出了可以工作的程序。"

Python TestCase断言方法

unittest.TestCase 类中提供了很多断言方法, 通过这些断言方法,我们就可以检查程序逻辑是否符合预期。

方法 说明
assertEqual(x,y) 验证 x = y
assertNotEqual(x,y) 验证 x != y
assertTrue(x) 验证 x 为 True
assertFalse(x) 验证 x 为 False
assertIn(x , list ) 验证 item 在 list 中
assertNotIn(item , list ) 验证 item 不在 list 中

除了以上这些简单的断言方法之外,还提供了一些高级断言方法。比如 assertAlmostEqual,它的方法签名是这样的:

def assertAlmostEqual(self, first, second, places=None, msg=None,
       delta=None)

delta 表示 second - first 的差值绝对值范围,举个例子,以下断言都是正确的:

self.assertAlmostEqual(1, 1)
self.assertAlmostEqual(2, 1, delta=1)
self.assertNotAlmostEqual(3, 1, delta=1)

places 表示: second - first 的差值绝对值,对其取近似值,所保留的小数位数,形如:round(abs(first - second),places)。如果结果为 0,则断言通过。

以下断言都是正确的:

self.assertAlmostEqual(2, 1.98, places=1)
self.assertNotAlmostEqual(2, 1.98, places=2)

注意: places 与 delta 不能同时存在,否则会抛出 TypeError: specify delta or places not both

除此之外,还提供了很多断言方法哦:

Python TestCase中的断言方法介绍

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
Aug 25 Python
理解Python中的类与实例
Apr 27 Python
python使用PyGame模块播放声音的方法
May 20 Python
python实现文件路径和url相互转换的方法
Jul 06 Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 Python
对python for 文件指定行读写操作详解
Dec 29 Python
Python 获取 datax 执行结果保存到数据库的方法
Jul 11 Python
python用opencv完成图像分割并进行目标物的提取
May 25 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
Jul 02 Python
keras分类之二分类实例(Cat and dog)
Jul 09 Python
python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境
Dec 14 Python
pandas按条件筛选数据的实现
Feb 20 Python
Python3中的bytes和str类型详解
May 02 #Python
利用pyinstaller打包exe文件的基本教程
May 02 #Python
Python中psutil的介绍与用法
May 02 #Python
Python3.5字符串常用操作实例详解
May 01 #Python
Python3.5文件修改操作实例分析
May 01 #Python
详解pandas的外部数据导入与常用方法
May 01 #Python
Python3.5文件读与写操作经典实例详解
May 01 #Python
You might like
PHP去除数组中重复的元素并按键名排序函数
2008/08/18 PHP
PHP实现腾讯短网址生成api接口实例
2020/12/08 PHP
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
js获取地址栏中传递的参数(两种方法)
2017/02/08 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
vue使用Font Awesome的方法步骤
2019/02/26 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
layui递归实现动态左侧菜单
2019/07/26 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
微信小程序实现列表的横向滑动方式
2020/07/15 Javascript
python列表的常用操作方法小结
2016/05/21 Python
python自动翻译实现方法
2016/05/28 Python
python简单线程和协程学习心得(分享)
2017/06/14 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
Python常见反爬虫机制解决方案
2020/06/01 Python
Python unittest装饰器实现原理及代码
2020/09/08 Python
python 实现aes256加密
2020/11/27 Python
Python绘制数码晶体管日期
2021/02/19 Python
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
白酒业务员岗位职责
2013/12/27 职场文书
公司道歉信范文
2014/01/09 职场文书
商务邀请函范文
2014/01/14 职场文书
打架检讨书100字
2014/01/19 职场文书
大学班级干部的自我评价分享
2014/02/10 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
学校节水倡议书
2015/04/29 职场文书
居安思危观后感
2015/06/11 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python