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装饰器decorator用法实例
Nov 10 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
Nov 30 Python
django2用iframe标签完成网页内嵌播放b站视频功能
Jun 20 Python
Python数据集切分实例
Dec 08 Python
使用python绘制3维正态分布图的方法
Dec 29 Python
Python 利用pydub库操作音频文件的方法
Jan 09 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 Python
pyqt5 QlistView列表显示的实现示例
Mar 24 Python
python和php哪个更适合写爬虫
Jun 22 Python
Scrapy模拟登录赶集网的实现代码
Jul 07 Python
selenium+python实现基本自动化测试的示例代码
Jan 27 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
Yii框架登录流程分析
2014/12/03 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
PHP序列化和反序列化深度剖析实例讲解
2020/12/29 PHP
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
当前页禁止复制粘贴截屏代码小集
2013/07/24 Javascript
jQuery简单图表peity.js使用示例
2014/05/02 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
实例详解Node.js 函数
2018/06/10 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
微信小程序云开发之新手环境配置
2019/05/16 Javascript
vue实现树形结构样式和功能的实例代码
2019/10/15 Javascript
[09:37]DOTA2卡尔工作室 英雄介绍圣堂刺客篇
2013/06/13 DOTA
Python可变参数函数用法实例
2015/07/07 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
Python tkinter label 更新方法
2018/10/11 Python
python实现RabbitMQ的消息队列的示例代码
2018/11/08 Python
python调用webservice接口的实现
2019/07/12 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
毕业生护理专业个人求职信范文
2014/01/04 职场文书
五一家具促销方案
2014/01/10 职场文书
会计自荐信范文
2014/03/09 职场文书
安全协议书范本
2014/04/21 职场文书
求职意向书
2014/07/29 职场文书
五四青年节活动总结
2015/02/10 职场文书
初中体育教学随笔
2015/08/15 职场文书
PyTorch梯度裁剪避免训练loss nan的操作
2021/05/24 Python