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通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
Python元字符的用法实例解析
Jan 17 Python
对python数据切割归并算法的实例讲解
Dec 12 Python
对python打乱数据集中X,y标签对的方法详解
Dec 14 Python
Python实现字符型图片验证码识别完整过程详解
May 10 Python
Python弹出输入框并获取输入值的实例
Jun 18 Python
如何使用django的MTV开发模式返回一个网页
Jul 22 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
Jul 27 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
django inspectdb 操作已有数据库数据的使用步骤
Feb 07 Python
python解包用法详解
Feb 17 Python
如何理解python接口自动化之logging日志模块
Jun 15 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+MYSQL开发工具及资源收藏
2007/01/02 PHP
浅谈php中的访问修饰符private、protected、public的作用范围
2016/11/20 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
js版本A*寻路算法
2006/12/22 Javascript
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
2013/04/18 Javascript
JS连连看源码完美注释版(推荐)
2013/12/09 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
按日期打印Python的Tornado框架中的日志的方法
2015/05/02 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
python中logging模块的一些简单用法的使用
2019/02/22 Python
python实现祝福弹窗效果
2019/04/07 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
python让函数不返回结果的方法
2020/06/22 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
PHP面试题及答案一
2012/06/18 面试题
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
护士自我评价范文
2014/01/25 职场文书
作风年建设汇报材料
2014/08/14 职场文书
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
人大代表选举标语
2014/10/07 职场文书
幼儿园教师自我评价
2015/03/04 职场文书