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字符串处理函数简明总结
Apr 13 Python
Python中py文件引用另一个py文件变量的方法
Apr 29 Python
Flask之flask-script模块使用
Jul 26 Python
PyTorch的深度学习入门教程之构建神经网络
Jun 27 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
tensorflow下的图片标准化函数per_image_standardization用法
Jun 30 Python
python3让print输出不换行的方法
Aug 24 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
写一个Python脚本下载哔哩哔哩舞蹈区的所有视频
May 31 Python
Python 恐龙跑跑小游戏实现流程
Feb 15 Python
Python帮你解决手机qq微信内存占用太多问题
Feb 15 Python
Python正则表达式中flags参数的实例详解
Apr 01 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递归删除指定文件夹的方法小结
2015/04/20 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
js 省地市级联选择
2010/02/07 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
JavaScript实现网页截图功能
2014/10/16 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
Angular简单验证功能示例
2017/12/22 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
基于Vue-Cli 打包自动生成/抽离相关配置文件的实现方法
2018/12/09 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
python中偏函数partial用法实例分析
2015/07/08 Python
python创建列表并给列表赋初始值的方法
2015/07/28 Python
简单理解Python中的装饰器
2015/07/31 Python
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
Python爬虫代理IP池实现方法
2017/01/05 Python
python实现转圈打印矩阵
2019/03/02 Python
pyinstaller打包opencv和numpy程序运行错误解决
2019/08/16 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
完美解决IE8下不兼容rgba()的问题
2017/03/31 HTML / CSS
个人工作主要事迹
2014/05/08 职场文书
正科级干部考察材料
2014/05/29 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
高中体育课教学反思
2016/02/16 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
Python并发编程实例教程之线程的玩法
2021/06/20 Python
php访问对象中的成员的实例方法
2021/11/17 PHP
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫