IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> Unittest单元测试(六) -> 正文阅读

[开发测试]Unittest单元测试(六)

一、批量生成自动化的测试报告

1.txt文本格式

    unittest.TextTestRunner(verbosity=2).run(suite)

2.html格式

第一步下载HTMLTestRunner.py文件并且修改。下载教程传送门

然后放到C:\Program Files\Python37\libs目录下

if __name__ == '__main__':
    # 读取用例
    suite = unittest.defaultTestLoader.discover('./test', pattern='test_*.py')
    # 生成html空的报告文件
    now = time.strftime("%Y%m%d%H%M%S",time.localtime())
    file = open("./report/report_"+str(now)+".html","wb")
    # 初始化一个HTMLTestRunner对象
    runner = HTMLTestRunner(stream=file,title="测试报告",description="报告详情如下:")
    runner.run(suite)

二、数据驱动简介

1.为什么需要数据驱动呢?

正例,反例

登录:同一个业务逻辑,代码逻辑是不变的,数据是变化的。业务逻辑和数据分离。

三、自动化主流驱动模式介绍

1.数据驱动

数据驱动把数据保存在excel,csv,yaml,数据库。通过改变数据驱动我们的业务逻辑执行。并且得到不同的结果

2.关键字驱动

关键字驱动其实是从面向对象的思想出发,它是把一些业务逻辑代码封装成一个函数、方法,作为一个关键字,然后调用不同的函数组成不同的复杂的业务逻辑。

3.数据驱动+关键字驱动

四、unittest的ddt数据驱动

1.什么是ddt?

data driver test 它可以完美地应用于unittest框架实现数据驱动

2.ddt详解

它可以通过装饰器的方式来调用

装饰器:完成特定功能的一个函数。

在Python中有类装饰器函数装饰器

举例:

@ddt? ? ? ? 类装饰器????????作用:申明当前类使用DDT框架

@data? ? ? 函数装饰器?????作用:用于给测试用例传递数据

@unpack? 函数装饰器? ? ?作用:将数据解包,一般用于元组和列表

@file_data函数装饰器? ? ?作用:可以读取json或者yaml文件

3.@ddt 、@data、@unpack 用法

import unittest
from ddt import ddt, data, unpack


@ddt
class TestDdt(unittest.TestCase):

    @data(("1","2"), ("3","4"))  # 函数执行次数有参数个数决定
    @unpack
    def test_01(self, args1, args2):
        print(args1, args2)

if __name__ == '__main__':
    unittest.main()

总结:

1.ddt数据驱动中,测试用例的执行次数是由@data()传参个数决定。

2.如果传的是多个元组(或列表),那么可以使用@unpack解包元组和列表,元组或者列表中有多少个值就需要多少个参数来接受值。

3.解包字典时,接受的参数名要与键名相同

 @data({"name":"test","age":"12"},{"name":"detect","age":"15"})  # 函数执行次数有参数个数决定
    @unpack
    def test_01(self, name, age):
        print(name, age)

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 12:07:07  更:2022-04-26 12:07:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 5:06:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码