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进行行为驱动开发的入门教程
Apr 23 Python
python遍历 truple list dictionary的几种方法总结
Sep 11 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
分析经典Python开发工程师面试题
Apr 08 Python
django的聚合函数和aggregate、annotate方法使用详解
Jul 23 Python
Django 自动生成api接口文档教程
Nov 19 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
flask框架蓝图和子域名配置详解
Jan 25 Python
Python无头爬虫下载文件的实现
Apr 02 Python
Keras实现DenseNet结构操作
Jul 06 Python
PyQt5 QDockWidget控件应用详解
Aug 12 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
Feb 20 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
SONY SRF-M100的电路分析
2021/03/02 无线电
浅谈PHP强制类型转换,慎用!
2013/06/06 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
用PHP写的一个冒泡排序法的函数简单实例
2016/05/26 PHP
jquery ajax 同步异步的执行示例代码
2010/06/23 Javascript
JQuery入门——用bind方法绑定事件处理函数应用介绍
2013/02/05 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
Javascript基础教程之switch语句
2015/01/18 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
2017/05/11 Javascript
react build 后打包发布总结
2018/08/24 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
js使用文件流下载csv文件的实现方法
2019/07/15 Javascript
[01:06:32]DOTA2上海特级锦标赛D组资格赛#1 EG VS VP第一局
2016/02/28 DOTA
[55:35]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第二场 1月22日
2021/03/11 DOTA
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
python利用hook技术破解https的实例代码
2013/03/25 Python
获取Django项目的全部url方法详解
2017/10/26 Python
TF-IDF算法解析与Python实现方法详解
2017/11/16 Python
python opencv实现图像边缘检测
2019/04/29 Python
python解析多层json操作示例
2019/12/30 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
MIXIT官网:俄罗斯最大的化妆品公司之一
2020/01/25 全球购物
Python里面如何实现tuple和list的转换
2012/06/13 面试题
关于人生的感言
2014/01/17 职场文书
厨房管理计划书
2014/04/27 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
2014年领班工作总结
2014/11/25 职场文书
班级联欢会主持词
2015/07/03 职场文书
创业计划书之奶茶店开店方案范本!
2019/08/06 职场文书
Python 实现定积分与二重定积分的操作
2021/05/26 Python
Sql Server之数据类型详解
2022/02/28 SQL Server