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框架了解的更多相关文章

  1. UI自动化学习笔记- UnitTest单元测试框架详解

    一.UnitTest基本使用 1. UnitTest框架 1.1 什么是框架 说明: 框架英文单词frame 为解决一类事情的功能集合 1.2什么是UnitTest框架 概念:UnitTest是pyt ...

  2. OpenCV之Python学习笔记

    OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...

  3. Deep learning with Python 学习笔记(9)

    神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...

  4. python学习笔记目录

    人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...

  5. Deep learning with Python 学习笔记(1)

    深度学习基础 Python 的 Keras 库来学习手写数字分类,将手写数字的灰度图像(28 像素 ×28 像素)划分到 10 个类别 中(0~9) 神经网络的核心组件是层(layer),它是一种数据 ...

  6. 雨痕 的《Python学习笔记》--附脑图(转)

    原文:http://www.pythoner.com/148.html 近日,在某微博上看到有人推荐了 雨痕 的<Python学习笔记>,从github上下载下来看了下,确实很不错. 注意 ...

  7. Python学习笔记之基础篇(-)python介绍与安装

    Python学习笔记之基础篇(-)初识python Python的理念:崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. python的历史: 1989年,为了打发圣诞节假期,作者Guido开始写P ...

  8. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  9. VS2013中Python学习笔记[Django Web的第一个网页]

    前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...

  10. python学习笔记之module && package

    个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...

随机推荐

  1. 从零开始学会GAN 0:第一部分 介绍生成式深度学习(连载中)

    本书的前四章旨在介绍开始构建生成式深度学习模型所需的核心技术.在第1章中,我们将首先对生成式建模领域进行广泛的研究,并从概率的角度考虑我们试图解决的问题类型.然后,我们将探讨我们的基本概率生成模型的第 ...

  2. 广告域名审核之后跳转技术:点击域名A页面iframe框架下的链接,域名A跳转到域名B

    广告域名审核之后跳转技术:点击域名A页面iframe框架下的链接,域名A跳转到域名B注:域名B为afish.cnblogs.com 域名A页面代码:<!DOCTYPE html PUBLIC & ...

  3. C++ SQLite的使用总结

    SQLite3简介 SQLite3只是一个轻型的嵌入式数据库引擎,占用资源非常低,处理速度比Mysql还快,专门用于移动设备上进行适量的数据存取,它只是一个文件,不需要服务器进程. SQL语句是SQL ...

  4. 基于Hexo的个人博客搭建(下)

    5.服务器端测试 —5.1 clone到/var/www/html git clone /home/git/repos/myblog.git /var/www/html chown -R  git:g ...

  5. 给定一个矩阵 A, 返回 A 的转置矩阵。

    给定一个矩阵 A, 返回 A 的转置矩阵. 矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引. 示例 1: 输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7], ...

  6. 重温JSP学习笔记

    <% double d1 = 3.5; double d2 = 4.4; pageContext.setAttribute("d1", d1); pageContext.se ...

  7. 数据管理必看!Kendo UI for jQuery过滤器的全球化

    Kendo UI for jQuery最新试用版下载 Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support f ...

  8. TXNLP 33-40

    词向量: 回顾基于检索的问答系统 倒排表解决:坑爹的翻译...应该翻译成“反向索引” 常规的索引是文档到关键词的映射: 文档——>关键词但是这样检索关键词的时候很费力,要一个文档一个文档的遍历一 ...

  9. hdu 6041 I Curse Myself

    题目: 点这里OvO http://acm.hdu.edu.cn/showproblem.php?pid=6041 2017 Multi-University Training Contest - T ...

  10. css3常用动画大全:translate、scale、opacity、rotate (转)

    /* animation */ .a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-animation:1s ...