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命令可以安装几乎所有的库,但 ...
随机推荐
- win10使用U盘安装Linux系统教程
win10安装Linux系统详细教程 目前想要再Windows系统上安装Linux系统有三种方式:其一是安装在虚拟机上(VMWare或者VirtualBox),其二是使用win10最新支持的Linux ...
- 没事学学KVM(五)虚拟机基础管理
1.今天学习一下KVM的开机自启功能.开机启动,即随宿主机启动而启动 virsh autostart vm-name 开机自启的前提是libvirt功能也是开机启动的:systemctl enable ...
- Maven1详解
Maven详解(一)------ Maven概述 目录 1.引言 2.常规项目开发存在的问题 3.什么是 Maven ? 4.Maven 的历史 5.Maven 的目标 6.Maven 的理念 回 ...
- python数据类型之dict(字典)
dict字典 关注公众号"轻松学编程"了解更多. 1.概述 dict也是一种存储方式,类似于list和tuple,但是,字典采用键-值(key-value)的形式存储. 优点:具有 ...
- Hadoop安装 与 HDFS体系结构
- .netcore使用autofac
.netcore3.1使用autofac (.netcore中本身已经实现了IOC容器,其实没有必要替换成autofac.如果非常习惯autofac,替换也是无可厚非的.) 第一步.在项目中引入Aut ...
- 我用 Python 找出了删除我微信的所有人并将他们自动化删除了
1. 概述 不知你是否遇到过在微信上给通讯录中的某个人发消息,结果出现了这一幕: 平时一直认为自己的心里素质过硬,不过遇到这种情况 ... 在我缓了半个钟头(半分钟)之后,缓缓拿出了手机,打开微信,找 ...
- CSP-S 2020全国开放赛前冲刺模拟训练题1 T4 二维码
组合 首先可以考虑一个状态合法的条件,可以发现的是最后得到的矩阵一定是至少有一行或是有一列全$0$或$1$,如果把这一列或这一行删掉那么将剩下的子矩阵拼接起来又是一个子问题,同样的也是至少有一列或一行 ...
- Magic Method
Python 的 Magic Method 在 Python 中,所有以 "__" 双下划线包起来的方法,都统称为"魔术方法".比如我们接触最多的 __init ...
- python中的时间和时间格式转换
1.python中的时间:要得到年月日时分秒的时间: import time #time.struct_time(tm_year=2012, tm_mon=9, tm_mday=15, tm_hour ...