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常规方法实现数组的全排列
Mar 17 Python
Python中的pass语句使用方法讲解
May 14 Python
python处理二进制数据的方法
Jun 03 Python
Python 两个列表的差集、并集和交集实现代码
Sep 21 Python
python 系统调用的实例详解
Jul 11 Python
轻松实现TensorFlow微信跳一跳的AI
Jan 05 Python
完美解决在oj中Python的循环输入问题
Jun 25 Python
Python文件如何引入?详解引入Python文件步骤
Dec 10 Python
使用python分析统计自己微信朋友的信息
Jul 19 Python
Python中BeautifuSoup库的用法使用详解
Nov 15 Python
python 实现矩阵填充0的例子
Nov 29 Python
pytorch 实现L2和L1正则化regularization的操作
Mar 03 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通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
PHP中使用foreach()遍历二维数组的简单实例
2016/06/13 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
基于ThinkPHP删除目录及目录文件函数
2020/10/28 PHP
jQuery 名称冲突的解决方法
2011/04/08 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
5秒后跳转效果(setInterval/SetTimeOut)
2013/05/03 Javascript
原生js实现放大镜
2017/02/20 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
python简单实现旋转图片的方法
2015/05/30 Python
Perl中著名的Schwartzian转换问题解决实现
2015/06/02 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
python difflib模块示例讲解
2017/09/13 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
python找出完数的方法
2018/11/12 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
Python对列表的操作知识点详解
2019/08/20 Python
python 怎样将dataframe中的字符串日期转化为日期的方法
2019/09/26 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
巴西购物网站:Onofre Agora
2020/06/08 全球购物
介绍一下JNDI的基本概念
2013/07/26 面试题
中药专业自荐信范文
2014/03/18 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
酒店厨房管理制度
2015/08/06 职场文书