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中assert用法实例分析
Apr 30 Python
python获取指定路径下所有指定后缀文件的方法
May 26 Python
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
Sep 28 Python
Flask框架Flask-Principal基本用法实例分析
Jul 23 Python
详解python配置虚拟环境
Apr 08 Python
解决python文件双击运行秒退的问题
Jun 24 Python
python 求定积分和不定积分示例
Nov 20 Python
Win下PyInstaller 安装和使用教程
Dec 25 Python
利用PyQt中的QThread类实现多线程
Feb 18 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
Python读取Excel数据并生成图表过程解析
Jun 18 Python
深入了解Python装饰器的高级用法
Aug 13 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 学习资料零碎东西
2010/12/04 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
phpcms配置列表页以及获得文章发布时间
2017/07/04 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
在网页中控制wmplayer播放器
2006/07/01 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
jQuery表单域选择器用法分析
2015/02/10 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
利用Angularjs和原生JS分别实现动态效果的输入框
2016/09/01 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
jquery实现异步文件上传ajaxfileupload.js
2020/10/23 jQuery
浅谈python中的getattr函数 hasattr函数
2016/06/14 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
Python学习思维导图(必看篇)
2017/06/26 Python
python和opencv实现抠图
2018/07/18 Python
django项目中使用手机号登录的实例代码
2019/08/15 Python
python通过链接抓取网站详解
2019/11/20 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
销售业务实习自我鉴定
2013/09/23 职场文书
工伤赔偿协议书
2014/04/15 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
老公出轨后的保证书
2015/05/08 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
小人国观后感
2015/06/11 职场文书
舞出我人生观后感
2015/06/16 职场文书
村官2015年度工作总结
2015/10/14 职场文书