接口测试基础——第6篇unittest模块(三)
今天是unittest最后一讲,我们解决一下如何只运行一次setUp和tearDown方法以及简单的数据驱动的知识。
1、只运行一次setUp和tearDown方法
很简单,只需要把setUp和tearDown分别替换为setUpClass和tearDownClass即可,但是用这两个方法必须加上 @classmethod 修饰
# coding: utf-8import unittest
import timeclass MyTest(unittest.TestCase):@classmethoddef setUpClass(cls):print "SetUp"time.sleep(2)@classmethoddef tearDownClass(cls):print "teardown"time.sleep(2)def test01(self):print "test01"def test03(self):print "test03"def test02(self):print "test02"if __name__ == '__main__':suite = unittest.TestLoader().loadTestsFromTestCase(MyTest)unittest.TextTestRunner(verbosity=2).run(suite)
上面的代码运行以后,得到的输出便是:
至于@classmethod是什么意思,大家先不要管,后面在说装饰器的时候我会专门的和大家说。
2、数据驱动
unittest里的数据驱动也要用到装饰器的知识,还是直接先记住代码即可:
# coding: utf-8import unittest
import time
import ddtinfo = [{"username": "captain", "password": 123},{"username": "warrior", "password": 456}]@ddt.ddt
class MyTest(unittest.TestCase):@classmethoddef setUpClass(cls):print "SetUp"time.sleep(2)@classmethoddef tearDownClass(cls):print "teardown"time.sleep(2)@ddt.data(*info)def test01(self, mes):print mes@ddt.data(*info)def test03(self, res):print res["username"]def test02(self):print "test02"if __name__ == '__main__':unittest.main()
运行上面代码:
可以看到,我们的info是一个列表,里面套了两个字典,在打印res["username"]的时候回将两个username都打印出来;这也是数据驱动的好处,也就是将用到的数据放到一起(比如一个Excel中),然后通过数据驱动就可以读到Excel中的所有数据了。
以上内容就是我要讲的所有的unittest需要了解的知识了,其实东西并不多,unittest模块常用的基本上就这三篇的知识,将来无论你做接口测试还是UI自动化,都会用到以上知识,所以,现在就学会了记住了,将来会少走很多弯路~~
欢迎大家关注微信公众号“自动化测试实战”,我们一起进步!
转载于:https://www.cnblogs.com/captainmeng/p/7722346.html
接口测试基础——第6篇unittest模块(三)相关推荐
- 接口测试基础——第5篇xlrd模块
读取Excel表格中的内容,不多说,直接上代码: # coding: utf-8import xlrd# excel路径 excel_path = r'C:\Users\weiming\Desktop ...
- 接口测试基础之入门篇(待续)
2019独角兽企业重金招聘Python工程师标准>>> 课程地址:https://www.imooc.com/learn/738 一.为什么做接口测试 地址栏大小有限制 二.接口测 ...
- 《鸟哥的Linux 私房菜 基础学习篇(第三版)》——1.2 Torvalds的Linux开发
本节书摘来自异步社区<鸟哥的Linux 私房菜 基础学习篇(第三版)>一书中的第1章,第1.2节,作者:鸟哥著,更多章节内容可以访问云栖社区"异步社区"公众号查看 1. ...
- JS--我发现,原来你是这样的JS(三)(基础概念--灵魂篇)
一.介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第三篇(灵魂篇介绍),有着剩下的第三章的知识内容. 红宝书这本书可以说是难啃的,要看完不容易,挺厚的,要看懂更不容易,要熟练js ...
- JAVASE基础模块三十四( 菜鸡版简单登录验证模块系统IO流文件写入)
JAVASE基础模块三十四( 菜鸡版简单登录验证模块系统IO流文件写入) 开发流程:需求文档 接口文档 效果图 开发环境统一:JDK1.8 IDEA win10 GIT SSM SSH SpringB ...
- 计算机应用基础模块三项目二,计算机应用基础 高职计算机大类专业 刁爱军模块三 项目二 海报的制作.pptx...
计算机应用基础 高职计算机大类专业 刁爱军模块三 项目二 海报的制作.pptx (31页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 模块 ...
- JAVASE基础模块三十三(Scanner 扫描流 RandomAccessFile随机访问流 ObjectInputStream序列流 Properties集合流 Sequence顺序流
JAVASE基础模块三十三(Scanner 扫描流 RandomAccessFile随机访问流 ObjectInputStream序列流 Properties集合流 SequenceInputStre ...
- JAVASE基础模块三十五( 线程 线程创建的第一种方法 以及线程的一些方法)
JAVASE基础模块三十五( 线程 线程创建的第一种方法 以及线程的一些方法) 线程 首先要清楚的是 线程依赖于进程 进程 是 正在运行的应用程序 一个正在运行的应用程序 是个进程 这个应用程序又要执 ...
- 接口测试基础-1-什么是接口测试
前面写过了Python接口自动化入门之requests篇,想了一下,还是有必要把接口测试基础入门给介绍一下.在做接口自动化测试之前,还是需要介绍接口的手工测试一些基本概念的方法.预计会写十篇以下文章介 ...
- python基础教程第二版和第三版哪个好-python基础教程 2版和3版哪个适合新手?!...
python基础教程 2版和3版哪个适合新手? 现在学是学python3. 两者的差异发者本身影响并不大,个别语法细微的差比如python3的print数方式使用,一些常用模块的名称差异,一些机制的差 ...
最新文章
- 好的开始是成功的一半:网页优化之标题篇
- 验证码不显示,如何进入phpcms管理后台
- python常用函数-python—各种常用函数及库
- MVC URL参数传递+变为空格解决方法
- ajxa异步请求数据
- 【待填坑】LG_4996_咕咕咕
- 判断一个字符串是否包含另一个字符串(用java但是不能用index()这个函数)
- 简单实用的人工智能自学路径
- centos7下安装mysql5.6_CentOS7安装后MySQL5.6如何配置MySQL5.6呢?
- ds6708 symbol 驱动_Symbol DS6708扫描器
- java编写计算器实现cancel_用Java编写的简易计算器
- Selenium-鼠标操作
- progresql数据库 数组分别显示_Postgresql常用命令函数
- java组件技术考试题_Java核心技术2020年春答案试题题目及答案,期末考试题库,章节测验答案...
- 【使用最新版本的cef,编译libcef_dll_wrapper】
- 两个强制屏幕旋转的方法
- 苹果手机更改照片大小kb_iPhone调整照片大小方法教程 无需第三方软件
- 嵌入式编程语言挑选的原则
- 【HCIA持续更新】VLAN间通信之路由器
- Facebook推出附近好友功能 可用手机查附近好友
热门文章
- linux apache 停止命令,linux 下 apache启动、停止、重启命令
- python能print中文吗_python用print输出中文字符
- 左移寄存器vhdl_用VHDL实现的通用循环移位寄存器
- 提取数据_R提取全球气象数据
- centos7.6使用Mariadb官方二进制安装
- 比特币技术Base58
- Liferay7 BPM门户开发之15: Liferay开发体系简介
- Python [6] IT资产管理(下)
- PHP用户名和密码登陆验证代码
- ******2:***常用工具排行榜-《百晓生兵器谱》