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脚本实现ping百度和google的方法
Jan 24 Python
基于Python的XSS测试工具XSStrike使用方法
Jul 29 Python
Python实现的朴素贝叶斯分类器示例
Jan 06 Python
python使用TensorFlow进行图像处理的方法
Feb 28 Python
python实现简单遗传算法
Mar 19 Python
pandas groupby 分组取每组的前几行记录方法
Apr 20 Python
PyQt5组件读取参数的实例
Jun 25 Python
Python OrderedDict的使用案例解析
Oct 25 Python
Python使用Excel将数据写入多个sheet
May 16 Python
Django+Celery实现动态配置定时任务的方法示例
May 26 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 Python
Python 操作pdf pdfplumber读取PDF写入Exce
Aug 14 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
simplehtmldom Doc api帮助文档
2012/03/26 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
Nodejs实现的一个简单udp广播服务器、客户端
2014/09/25 NodeJs
JQuery中DOM事件合成用法实例分析
2015/06/13 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
网络传输协议(http协议)
2016/11/18 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
PHP7新特性简述
2017/06/11 Javascript
javascript实现文件拖拽事件
2018/03/29 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
javascript贪吃蛇游戏设计与实现
2020/09/17 Javascript
Python的Django框架中设置日期和字段可选的方法
2015/07/17 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
Python Des加密解密如何实现软件注册码机器码
2020/01/08 Python
COACH德国官方网站:纽约现代奢侈品牌,1941年
2018/06/09 全球购物
物业管理计划书
2014/01/10 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
医学生职业生涯规划书范文
2014/03/13 职场文书
汇源肾宝广告词
2014/03/20 职场文书
2014年平安夜寄语
2014/12/08 职场文书
求职自我推荐信
2015/03/24 职场文书
聚会通知怎么写
2015/04/23 职场文书
保护地球的宣传语
2015/07/13 职场文书
python实现腾讯滑块验证码识别
2021/04/27 Python