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中的实例方法、类方法和静态方法
Feb 17 Python
微信跳一跳游戏python脚本
Apr 01 Python
python使用RNN实现文本分类
May 24 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
python3.6的venv模块使用详解
Aug 01 Python
Python实现压缩文件夹与解压缩zip文件的方法
Sep 01 Python
Python中GIL的使用详解
Oct 03 Python
python如何读取bin文件并下发串口
Jul 05 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
Tensorflow中的dropout的使用方法
Mar 13 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
Jan 12 Python
java关于string最常出现的面试题整理
Jan 18 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在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
php 文本文件的读取效率
2012/02/10 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
PHP实现链式操作的三种方法详解
2017/11/16 PHP
浅析PHP7 的垃圾回收机制
2019/09/06 PHP
laravel 实现上传图片到本地和前台访问示例
2019/10/21 PHP
jquery中.add()的使用分析
2013/04/26 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
javaScript基础语法介绍
2015/02/28 Javascript
javascript先序遍历DOM树的方法
2016/02/27 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
微信小程序Echarts覆盖正常组件问题解决
2019/07/13 Javascript
解决vue中el-tab-pane切换的问题
2020/07/19 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
python 多线程串行和并行的实例
2019/02/22 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
python实现在线翻译功能
2020/03/03 Python
python数据类型强制转换实例详解
2020/06/22 Python
澳大利亚时尚前卫设计师珠宝在线:Amber Sceats
2017/10/04 全球购物
2014镇党委班子对照检查材料思想汇报
2014/09/23 职场文书
2014年车间工作总结
2014/11/21 职场文书
大学生创业计划书常用模板
2019/08/07 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
vue+spring boot实现校验码功能
2021/05/27 Vue.js
Python制作动态字符画的源码
2021/08/04 Python
本地搭建minio文件服务器(使用bat脚本启动)的方法
2022/07/15 Servers