Python学习笔记:Unittest框架了解
Unittest单元测试框架不仅可以适用于单元测试,还可以适用于自动化测试用来的开发与执行,该测试框架可执行测试用例,并提供丰富的断言方法,最终生成测试报告。
一、Unittest常用方法
1、TestCase:
TestCase类,所有测试用例类继承的基本类
如:

2、main():
使用它可以方便的将一个单元测试模块变为可直接运行的测试脚本,main()方法可以使用TestLoader类来搜索所有包含在该模块中以“test”开头命名的方法,并且执行他们。执行的默认顺序是根据ASCII码的顺序加载测试用例并执行。
3、TestSuite()
unittest框架的TestSuite()类是用来创建测试套件的。
4、TextTextRunner()
unittest框架的TextTextRunner()类,通过该类下的run()方法来运行TestSuite所包含的测试用例,参数为TestSuite名称。
5、defaultTestLoader()
通过该类下面的discover()方法根据测试目录start_dir匹配查找测试用例文件,并将查找到的测试用例组装到测试套件中,也可以直接使用run()方法执行discover。
6、skip()
装饰器,可用装饰器暂时屏蔽不执行的测试用例。(调试某一个测试用例时,可以使用装饰器屏蔽掉其他的测试用例)
(1、@unittest.skip(reason):无条件跳过添加装饰器的测试,并说明跳过测试的原因
(2、@unittest.skipIf(condition,reason):条件为真时,跳过添加装饰器的测试,并说明跳过测试的原因
(3、@unittest.skipUnless(condition,reason):条件未假时,跳过测试并说明跳过测试的原因。
(4、@unittest.expectedFailure():测试标记为失败。
二、TestCase类的常用属性
1、setUp()
方法用于测试用例执行前的初始化工作。如测试用例需要访问数据库,可以在setUp中建立数据库链接并初始化。
2、tearDown()
用于测试用例执行后的善后工作。如关闭数据库链接等
3、assert*()
断言方法,在执行测试用例时,最终用例是否执行通过,是通过判断实际结果与预期结果是否相等决定的。
(1、assertEqual(a,b,msg):判断a,b是否相等,相等测试用例通过;不相等测试用例失败,msg为失败时的提示信息。
(2、assertNotEqual(a,b,msg):判断a,b是否相等,不相等时测试用例通过;相等时测试用例失败,msg为测试失败的提示信息。
(3、assertTrue(x,msg):判断x是否为True,是True测试用例通过,否则失败,msg为失败的提示信息。
(4、assertFalse(x,msg):判断x是否为False,是False时测试用例通过,否则失败,msg为失败的提示信息。
(5、assertIs(a,b,msg):判断a是不是b,是则通过,否则失败
(6、assertNotIs(a,b,msg):判断a不是b,不是通过,否则不通过
(7、assertIsNone(x,msg):判断x是否是None,是None测试用例通过
(8、assertIsNotNone(x,msg):判断x是否是None,不是None测试用例通过
(9、assertIn(a,b,msg):判断a在b中,在则通过
(10、assertNotIn(a,b,msg):判断a在b中,不在则通过
(11、assertIsInstance(a,b,msg):判断a是b的一个实例,是则通过
(12、assertIsNotInstance(a,b,msg):判断a是b的一个实例,不是则通过
三、TestSuite类的主要属性
addTest():addTest()方法是将测试用例添加到测试套件中。
如:

四、TextTextRunner的常用属性
run():run()方法是运行测试套件中的测试用例
如:

五、defaultTestLoader()的常用属性
discover()方法根据测试目录start_dir匹配查找测试用例文件
如:discover(start_dir,pattern='',top_level_dir=None)
start_dir:要测试的模块名或测试用例目录;
pattern='':表示用例文件名的匹配原则;
top_level_dir=None:测试模块的顶层目录;
Python学习笔记:Unittest框架了解的更多相关文章
- UI自动化学习笔记- UnitTest单元测试框架详解
一.UnitTest基本使用 1. UnitTest框架 1.1 什么是框架 说明: 框架英文单词frame 为解决一类事情的功能集合 1.2什么是UnitTest框架 概念:UnitTest是pyt ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- Deep learning with Python 学习笔记(9)
神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...
- python学习笔记目录
人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...
- Deep learning with Python 学习笔记(1)
深度学习基础 Python 的 Keras 库来学习手写数字分类,将手写数字的灰度图像(28 像素 ×28 像素)划分到 10 个类别 中(0~9) 神经网络的核心组件是层(layer),它是一种数据 ...
- 雨痕 的《Python学习笔记》--附脑图(转)
原文:http://www.pythoner.com/148.html 近日,在某微博上看到有人推荐了 雨痕 的<Python学习笔记>,从github上下载下来看了下,确实很不错. 注意 ...
- Python学习笔记之基础篇(-)python介绍与安装
Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
随机推荐
- 裸磁盘上ext4与xfs在线扩容,非LVM
虚拟机添加一个20G的硬盘,磁盘为sdb,分区为ext4 格式化一个5Gib的磁盘出来,用dd命令写入4G数据. 一.需求是容量为5G的磁盘,文件系统为ext4的sdb1扩容到10G. 操作步骤为 1 ...
- zencart设置产品始终免运费sql
zencart网站后台-Tools(工具)-Install SQL Patches(安装SQL脚本): 运行以下相应sql语句,即可实现产品始终免运费. zencart设置所有产品始终免运费: '; ...
- PAT乙级1024
题目链接 https://pintia.cn/problem-sets/994805260223102976/problems/994805297229447168 题解 第一遍也是没有全部AC,有3 ...
- 安装theano遇到的问题
嗯,听说keras虽然说有TensorFlow有backend就够了,在TensorFlow和theano之间来回切换还是会有用的,然后又补安装了theano 之前解了权限了,所以不需要sudo 直接 ...
- js 深浅拷贝 笔记总结
一.js 数据类型 javaScritp的数据类型有:数值类型.字符串类型.布尔类型.null.undefined.对象(数组.正则表达式.日期.函数),大致分成两种:基本数据类型和引用数据类型, 其 ...
- loj2613 「NOIP2013」华容道[最短路]
感觉和以前做过的一个推箱子很像,都是可以用bfs解决的,而且都是手玩出结论. 因为起始棋子肯定是要和空格交换的,所以第一件事是先把空格移到棋子旁边.然后讨论怎么设计搜索状态.由于和推箱子实在太像了,所 ...
- React全家桶构建一款Web音乐App实战(六):排行榜及歌曲本地持久化
上一节使用Redux管理歌曲相关数据,实现核心播放功能,播放功能是本项目最复杂的一个功能,涉及各个组件之间的数据交互,播放逻辑控制.这一节继续开发排行榜列表和排行榜详情,以及把播放歌曲和播放歌曲列表的 ...
- JavaScript16进制颜色值和rgb的转换
//十六进制颜色值域RGB格式颜色值之间的相互转换//十六进制颜色值的正则表达式 var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; /*RGB颜色转换为1 ...
- Jmeter接口测试+压力测试(转)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/github_27109687/artic ...
- http 中文乱码
string RawUrl = request.Request.RawUrl; string cc= HttpUtility.ParseQueryString(RawUrl.Substring(1, ...