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 win系统下 打开TXT文件的实例
Apr 29 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
Sep 17 Python
在python里从协程返回一个值的示例
Feb 19 Python
Python多项式回归的实现方法
Mar 11 Python
六行python代码的爱心曲线详解
May 17 Python
python实现简单五子棋游戏
Jun 18 Python
关于Python 的简单栅格图像边界提取方法
Jul 05 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
Python脚本导出为exe程序的方法
Mar 25 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
python中用ctypes模拟点击的实例讲解
Nov 26 Python
python异步的ASGI与Fast Api实现
Jul 16 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
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
Smarty变量用法详解
2016/05/11 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
php和html的区别点详细总结
2019/09/24 PHP
JS 建立对象的方法
2007/04/21 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
Textarea根据内容自适应高度
2013/10/28 Javascript
Javascript中神奇的this
2016/01/20 Javascript
功能强大的Bootstrap组件(结合js)
2016/08/03 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
Python编程之基于概率论的分类方法:朴素贝叶斯
2017/11/11 Python
python使用Tesseract库识别验证
2018/03/21 Python
目前最全的python的就业方向
2018/06/05 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
2018/10/15 Python
python实现AES加密和解密
2019/03/27 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
基于Pytorch SSD模型分析
2020/02/18 Python
Python安装OpenCV的示例代码
2020/03/05 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
2020/12/04 Python
python中delattr删除对象方法的代码分析
2020/12/15 Python
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
三星英国官网:Samsung英国
2018/09/25 全球购物
美国购买隐形眼镜网站:Lenses For Less
2020/07/05 全球购物
中学自我评价
2014/01/31 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
大学生实习推荐信
2015/03/27 职场文书
关爱空巢老人感想
2015/08/11 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
基于Python实现的购物商城管理系统
2021/04/27 Python
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android