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 相关文章推荐
天翼开放平台免费短信验证码接口使用实例
Dec 18 Python
Python线程中对join方法的运用的教程
Apr 09 Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 Python
python3如何将docx转换成pdf文件
Mar 23 Python
pytorch + visdom CNN处理自建图片数据集的方法
Jun 04 Python
Python实现合并两个有序链表的方法示例
Jan 31 Python
详解Django中CBV(Class Base Views)模型源码分析
Feb 25 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
opencv 获取rtsp流媒体视频的实现方法
Aug 23 Python
利用OpenCV和Python实现查找图片差异
Dec 19 Python
解决TensorFlow模型恢复报错的问题
Feb 06 Python
pycharm 复制代码出现空格的解决方式
Jan 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发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
PHP中的Memcache详解
2014/04/05 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
xtree.js 代码
2007/03/13 Javascript
给应用部分的js代码设定一个统一的入口
2014/06/15 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
javascript实现计时器的简单方法
2016/02/21 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
Bootstrap布局之栅格系统详解
2016/06/13 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
jQuery中Find选择器用法示例
2016/09/21 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
layui实现数据分页功能(ajax异步)
2019/07/27 Javascript
vue实现登录拦截
2020/06/29 Javascript
js实现盒子滚动动画效果
2020/08/09 Javascript
[01:06]DOTA2小知识课堂 Ep.02 吹风竟可解梦境缠绕
2019/12/05 DOTA
Python中super的用法实例
2015/05/28 Python
Pycharm取消py脚本中SQL识别的方法
2018/11/29 Python
python中比较两个列表的实例方法
2019/07/04 Python
深入浅析Python 命令行模块 Click
2020/03/11 Python
python pillow库的基础使用教程
2021/01/13 Python
纽约JewelryAffairs珠宝店:精细金银时尚首饰
2017/02/05 全球购物
印度网上药店:1mg
2017/10/13 全球购物
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
简历的自我评价范文
2014/02/04 职场文书
初中毕业生的自我评价
2014/03/03 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
培训师岗位职责
2015/02/14 职场文书
PHP 对接美团大众点评团购券(门票)的开发步骤
2021/04/03 PHP
Django drf请求模块源码解析
2021/06/08 Python