Python - Unittest小结
一、Unittest
单元测试框架,可用于自动化测试用力组织,执行,输出结果
二、Unittest构成
- Test Case
- Test Suite
- Test Fixture
- Test Runner
(图片来源于网络)
Test Case
一个测试用例是一个独立的测试单元。它检查输入特定的数据时的响应。 unittest 提供一个基类: TestCase ,用于新建测试用例。
一个完整的用例需要遵循3A原则
- Arrange: 初始化测试对象或者准备测试数据
- Act : 调用被测方法
- Assert: 断言(预期结果与实际结果的比较)
test suite
用于组织测试用例,测试用例的集合
Test Fixture
测试脚手架 test fixture 表示为了开展一项或多项测试所需要进行的准备工作,以及所有相关的清理操作。
- 定义单个或者多个测试所需的环境准备(setUp),以及环境清理(tearDown)。
- 例:连接数据库,或者创建Selenium WebDriver driver实例
test runner
测试运行器 是一个用于执行和输出测试结果的组件。这个运行器可能使用图形接口、文本接口,或返回一个特定的值表示运行测试的结果
demo.py
import unittest
class TestDemo(unittest.TestCase):
# 初始化测试对象或者准备测试数据
def setUp(self):
pass
def tearDown(self):
pass
def add(self, a, b):
return a + b
# 调用被测方法
def test_case_one(self):
ret = self.add(1, 2)
# 断言
self.assertEqual(3, ret)
def test_case_two(self):
ret = self.add(1, 2)
self.assertEqual(1, ret)
if __name__ == '__main__':
unittest.main(verbosity=2)
Uittest使用要点:
- 被测方法名需以test开头,否则不被识别
- verbosity参数默认为1,有3个参数可选(0,1,2),用于表示控制台输出报告的详细程度
推荐阅读
Uittest官网
灰蓝 Python必会的单元测试框架 —— unittest
测试教程网 Uittest
Python - Unittest小结的更多相关文章
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- 从python run 和python unittest两种eclipse运行方式深入理解if __name__ == "__main__"
在写一个简单的python测试程序的时候,发现eclipse中Run as "Python run 和 Python unittest”结果不一样?为什么会不一样? 先贴一下代码段: # - ...
- 自动化测试神器 之 python unittest 断言
自动化测试的最后一步需要判断结果是否正确,而正确设置断言可以帮助判断测试用例的执行结果,从而提高自动化测试的效率,python unittest 提供了一个比较完整的断言方法.unittest框架测 ...
- 第二种方式,修改python unittest的执行顺序,使用猴子补丁
1.按照测试用例的上下顺序,而不是按方法的名称的字母顺序来执行测试用例. 之前的文章链接 python修改python unittest的运行顺序 之前写的,不是猴子补丁,而是要把Test用例的类名传 ...
- Pycharm上python unittest不执行"if __name__ == '__main__' "问题or选择非unittest run
转:http://www.cnblogs.com/csjd/p/6366535.html python unittest不执行"if __name__ == '__main__' " ...
- 简单实现接口自动化测试(基于python+unittest)
简单实现接口自动化测试(基于python+unittest) 简介 本文通过从Postman获取基本的接口测试Code简单的接口测试入手,一步步调整优化接口调用,以及增加基本的结果判断,讲解Pytho ...
- python+unittest 搭建简易的接口测试框架
主要介绍如何使用python+unittest快速搭建一个接口测试的框架 1.安装python unittest 2.新建一个python项目ApiTest 在setUp和setDown里设置一些需 ...
- Python unittest基本框架组成(1)
Python的标准库——unittest(可以实现自动化测试框架的搭建) python unittest四大组成“元件”: test fixture(测试脚手架)——测试代码的运行环境,指测试准备前和 ...
- Python+Unittest+Requests+PyMysql+HTMLReport 接口自动化框架
整体框架使用的是:Python+Unittest+Requests+PyMysql+HTMLReport 多线程并发模式 主要依赖模块 Unittest.Requests.PyMysql.HTMLR ...
随机推荐
- Sybase commands
(1)update table statistics $table name if we change index info for a table ,such as create or drop i ...
- 服务发现之eureka
一.什么是服务发现? 问题: 我们现在有多少个服务? 服务越来越多时,服务 URL 配置管理变得非常乱 服务对外的地址变了,其他所有有使用到的服务都要改地址 增加服务,增加服务实例等,都要做运维工作 ...
- 深入ThreadLocal的底层实现机制以及对应的使用风险
学习Java中常用的开源框架,Mybatis.Hibernate中线程通过数据库连接对象Connection,对其数据进行操作,都会使用ThreadLocal类来保证Java多线程程序访问和数据库数据 ...
- 别怕,"卷积"其实很简单(上)
文章来自我的CSDN同名博客,欢迎文末扫码关注~ 前言 相信很多时候,当我们在看到“卷积”时,总是处于一脸懵逼的状态,不但因为它的本身概念比较难理解,还因为它在不同的应用中发挥出的变幻莫测的作用也 ...
- Java操作Jxl实现导出数据生成Excel表格数据文件
实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...
- $POJ$2976 $Dropping\ tests$ 01分数规划+贪心
正解:01分数规划 解题报告: 传送门! 板子题鸭,,, 显然考虑变成$a[i]-mid\cdot b[i]$,显然无脑贪心下得选出最大的$k$个然后判断是否大于0就好(,,,这么弱智真的算贪心嘛$T ...
- WeihanLi.Npoi 1.7.0 更新
WeihanLi.Npoi 1.7.0 更新介绍 Intro 昨天晚上发布了 WeihanLi.Npoi 1.7.0 版本,增加了 ColumnInputFormatter/ColumnOutputF ...
- Ceph14.2.5 RBD块存储的实战配置和详细介绍,不看后悔! -- <3>
Ceph RBD介绍与使用 RBD介绍 RBD即RADOS Block Device的简称,RBD块存储是最稳定且最常用的存储类型.RBD块设备类似磁盘可以被挂载. RBD块设备具有快照.多副本.克隆 ...
- C# 启动 a Python Web Server with Flask
概览 最近有个需求是通过c#代码来启动python 脚本.嘿~嘿!!! 突发奇想~~既然可以启动python脚本,那也能启动flask,于是开始着手操作. 先看一波gif图 通过打开控制台启动flas ...
- MATLAB实例:PCA(主成成分分析)详解
MATLAB实例:PCA(主成成分分析)详解 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 主成成分分析 2. MATLAB解释 详细信息请看: ...