python中的unittest库
1.unittest框架是python自动化测试的入门框架,它是python自带的一个模块
包含以下几个子模块
测试用例:TestCase
测试集:TestSuite
加载用例:TestLoader
执行用例:TextTextRunner
2.用法:
2.1写用例时,先导入unittest模块
2.2 新建测试方法(方法名要以Test开头)时,需要继承(unittest.TestCase)
import unittest
class TestLogin(unnittest.TestCase):
pass
2.3测试方法中,可以包含前置后置,前置是setUp,后置是tearDown
def setUp(self):
print("正在准备测试数据") def tearDown(self):
print("测试用例执行完毕。")
2.4写完用例后,运行用例,运行前需要加载用例,这时需要用到加载器: unittest.TestLoader()
testloader = unittest.TestLoader()
2.5查找用例,先写用例路径以及报告路径、命名
dir_path = os.path.dirname(os.path.abspath(__file__))#os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
case_path = os.path.join(dir_path, 'test_cases')
report_path=os.path.join(dir_path,'kuangjia/report')
ts = str(int(time.time()))
file_name = 'test_result_{}.html'.format(ts)
file_path = os.path.join(report_path, file_name)
2.6 加载用例,有几种方法,一种是:discoer,将用例全部都加载出来
suite = testloader.discover(case_path)
第二种是:loadTestsFromModule,加载模块中的用例
suite = testloader.loadTestsFromModule(test_login)
第三种是:loadTestsFromTestCase,加载指定的测试类
suite = testloader.loadTestsFromTestCase(TestLogin)
第四种是:loadTestsFromName,加载测试函数
suite = testloader.loadTestsFromName()
2.7将加载到的用例,合并添加到一个总的测试套件套件
suite_total = unittest.TestSuite()
suite_total.addTests(suite)
2.8 运行用例,runner=unittest.TextTestRunner()但是工作中不用,用HTMLTestRunner,需要复制这个文件到项目目录下
# TODO: 一定要使用二进制的方式代开
with open(file_path, 'wb') as f:
# 使用 HTMLTestRunner
runner = HTMLTestRunner(f,
title="史上最帅的测试报告",
description='那是真的帅',
tester='最帅的小马哥')
runner.run(suite_total)
2.6到2.7的简化版本:
testloader=unittest.TestLoader()#初始化加载器
suite=unittest.TestSuite()#初始化空测试套件
suite.addTests(testloader.loadTestsFromModule(test_case_01))#往里面加用例
suite.addTests(testloader.loadTestsFromModule(test_case_02)) with open(file_path, 'wb') as f:
# 使用 HTMLTestRunner
runner = HTMLTestRunner(f,
title="前程贷接口测试报告",
description='前程贷接口测试报告',
tester='最帅的小马哥')
runner.run(suite)
------------恢复内容开始------------
1.unittest框架是python自动化测试的入门框架,它是python自带的一个模块
包含以下几个子模块
测试用例:TestCase
测试集:TestSuite
加载用例:TestLoader
执行用例:TextTextRunner
2.用法:
2.1写用例时,先导入unittest模块
2.2 新建测试方法(方法名要以Test开头)时,需要继承(unittest.TestCase)
import unittest
class TestLogin(unnittest.TestCase):
pass
2.3测试方法中,可以包含前置后置,前置是setUp,后置是tearDown
def setUp(self):
print("正在准备测试数据") def tearDown(self):
print("测试用例执行完毕。")
2.4写完用例后,运行用例,运行前需要加载用例,这时需要用到加载器: unittest.TestLoader()
testloader = unittest.TestLoader()
2.5查找用例,先写用例路径以及报告路径、命名
dir_path = os.path.dirname(os.path.abspath(__file__))#os.path.split(os.path.split(os.path.abspath(__file__))[0])[0]
case_path = os.path.join(dir_path, 'test_cases')
report_path=os.path.join(dir_path,'kuangjia/report')
ts = str(int(time.time()))
file_name = 'test_result_{}.html'.format(ts)
file_path = os.path.join(report_path, file_name)
2.6 加载用例,有几种方法,一种是:discoer,将用例全部都加载出来
suite = testloader.discover(case_path)
第二种是:loadTestsFromModule,加载模块中的用例
suite = testloader.loadTestsFromModule(test_login)
第三种是:loadTestsFromTestCase,加载指定的测试类
suite = testloader.loadTestsFromTestCase(TestLogin)
第四种是:loadTestsFromName,加载测试函数
suite = testloader.loadTestsFromName()
2.7将加载到的用例,合并添加到一个总的测试套件套件
loader=unittest.TestLoader() suite_total = unittest.TestSuite()
suite_total.addTests(loader.loadTestsFromModule())
2.8 运行用例,runner=unittest.TextTestRunner()但是工作中不用,用HTMLTestRunner,需要复制这个文件到项目目录下
# TODO: 一定要使用二进制的方式代开
with open(file_path, 'wb') as f:
# 使用 HTMLTestRunner
runner = HTMLTestRunner(f,
title="史上最帅的测试报告",
description='那是真的帅',
tester='最帅的小马哥')
runner.run(suite_total)
2.6到2.7的简化版本:
#按模块发现用例
suite=loader.loadTestsFromModule(test_register)
suite_total=unittest.TestSuite()
suite_total.addTests(suite)
with open(file_path, 'wb') as f:
# 使用 HTMLTestRunner
runner = HTMLTestRunner(f,
title="前程贷接口测试报告",
description='前程贷接口测试报告',
tester='最帅的小马哥')
runner.run(suite)
python中的unittest库的更多相关文章
- 利用Python中的mock库对Python代码进行模拟测试
这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下 ...
- 【归纳】正则表达式及Python中的正则库
正则表达式 正则表达式30分钟入门教程 runoob正则式教程 正则表达式练习题集(附答案) 元字符\b代表单词的分界处,在英文中指空格,标点符号或换行 例子:\bhi\b可以用来匹配hi这个单词,且 ...
- Python中使用第三方库xlrd来写入Excel文件示例
Python中使用第三方库xlrd来写入Excel文件示例 这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表 ...
- 【转】利用Python中的mock库对Python代码进行模拟测试
出处 https://www.toptal.com/python/an-introduction-to-mocking-in-python http://www.oschina.net/transla ...
- Python中的unittest和logging
今天使用Python的unittest模块写了些单元测试,现记录下要点: 使用unittest的基本格式如下: import unittest class Test(unittest.TestCase ...
- python中的turtle库绘制图形
1. 前奏: 在用turtle绘制图形时,需要安装对应python的解释器以及IDE,我安装的是pycharm,在安装完pycharm后,在pycharm安装相应库的模块,绘图可以引入turtle模块 ...
- python 中有趣的库tqdm
Tqdm 是 Python 进度条库,可以在 Python 长循环中添加一个进度提示信息用法:tqdm(iterator) # 方法1: import time from tqdm import tq ...
- Python中的BeautifulSoup库简要总结
一.基本元素 BeautifulSoup库是解析.遍历.维护“标签树”的功能库. 引用 from bs4 import BeautifulSoup import bs4 html文档-标签树-Beau ...
- Python中关于第三方库的补充
Python语言的强大之处在于它的开源.正是因为它的开源,产生了成百上千的第三方库,涵盖了计算机的几乎所有的方向.第三方库的安装也并不是特别的复杂,通过在cmd中使用pip命令可以安装几乎所有的库,但 ...
随机推荐
- mysql 架构简介
mysql的逻辑架构 第一层:进行连接处理.权限认证.安全校验等. 当客户端(应用)连接到mysql服务器时,服务器会创建使用一个线程进行处理连接(少量的线程服务大量的连接),随后服务器需要对该连接进 ...
- Bitmap缩放(一)
使用矩阵进行压缩,通过缩放图片尺寸,来达到压缩图片的效果,和采样率的原理一样.先用位图的option将位图压缩一半,再用matrix缩放0.3f public class MainActivity e ...
- Hive Sql的窗口函数
date: 2019-08-30 11:02:37 updated: 2019-08-30 14:40:00 Hive Sql的窗口函数 1. count.sum.avg.max.min 以 sum ...
- 支持向量机SVM基本问题
1.SVM的原理是什么? SVM是一种二类分类模型.它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器.(间隔最大是它有别于感知机) 试图寻找一个超平面来对样本分割,把样本中的正例和反例 ...
- NB-IOT的应用场景有哪些
虽然抄表.停车.井盖监测等应用是最为常见的示范,但若低功耗广域网络仅限于这几个领域,则整个产业的规模就显得太小了.实际上,经过近两年的探索,目前示范应用的数量已有数十个,分布在各行各业,带来了大量的机 ...
- UbuntuStudio20.04安装教程(双系统安装,windows10已安装)
硬件和系统: acer4750(原i3换i7,加固态硬盘200多G,原机械硬盘500G由光驱改装,内存由2G增加为6G)2010年购买3300,性价比高,硬件升级后2020年不过时 windows10 ...
- JAVA学习线路:day14-网络编程
心得: 我是一名正在自学的java的即将毕业的大学生 总结笔记是为了让自己更好的理解和加深印象.可能不是那么美观,自己可以看懂就好 所有的文档和源代码都开源在GitHub: https://githu ...
- 转载:解密Redis持久化
本文内容来源于Redis作者博文,Redis作者说,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于是他写了一篇长文来对Redis的持久化进行了系统性的论述.文章非常长,也很值 ...
- 抓紧下载了!2020最新版《神经网络与深度学习》中文版,PDF免费开放下载
介绍<神经⽹络和深度学习>是⼀本免费的在线书,对读者数学知识需求适度,兼顾理论和动手实践.⽬前给出了在图像识别.语⾳识别和⾃然语⾔处理领域中很多问题的最好解决⽅案,教读者在神经⽹络和深度学 ...
- 【SpringBoot】11-1.Springboot整合Springmvc+Mybatis增删改查操作(下)
整合过程:https://www.isdxh.com/68.html 一.增--增加用户 1.创建实体类 package com.dxh.pojo; public class Users { priv ...