python自动化测试框架unittest与pytest的区别

news2025/2/28 0:19:54

前言:

有使用过unittest单元测试框架,再使用pytest单元测试框架,就可以明显感觉到pytest比unittest真的简洁、方便很多。

unittest与pytest的区别:

主要从用例编写规则、用例的前置和后置、参数化、断言、用例执行、失败重运行和报告这几个方面比较unittest和pytest的区别

参数化的区别:

unittest参数化:结合装饰器ddt来实现

1 测试类前要添加修饰器 @ddt.ddt
  @ddt.ddt 
2 class TestLogin(unittest.TestCase):
      #测试用例前要添加修饰 @ddt.data,form_wrong_data包含了3条测试数据,此时要将这3条数据都拿出来,需要加上*
3     @ddt.data(*lg.form_wrong_data)
4     def test_login_2_form_wrongdata(self, data):
5         # 步骤 登录页面 -》 登录功能-》输入用户名、密码   #测试数据  python  断言数据,请输入手机号
6         self.lp.login(data["user"], data["pwd"])
7         self.assertEqual(str(data["check"]), self.lp.get_wrong_msg())

pytest参数化:直接使用@pytest.mark.parametrize(自定义命令参数名称,数据源)

@pytest.mark.parametrize("sucess_data", ld.sucess_data)
2     def test_1_sucess_login(self, sucess_data, start_app):
3         MyLog().info("成功登录测试用例")
4         bl(start_app).click_now_to_login()
5         lp(start_app).Login(sucess_data["username"], sucess_data["password"])0

下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

资料获取方式 :

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/862445.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day24-106.从中序与后序遍历序列构造二叉树

106.从中序与后序遍历序列构造二叉树 力扣题目链接(opens new window) 根据一棵树的中序遍历与后序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder [9,3,15,20,7]后序遍历 postorder [9,15,7,20,3] 返回如下的二叉树&am…

CentOS 7 下 Keepalived + Nginx 实现双机高可用

CentOS 7 下 Keepalived Nginx 实现双机高可用 文章目录 CentOS 7 下 Keepalived Nginx 实现双机高可用服务器准备服务信息服务架构 服务安装nginxKeepalived 服务配置nginxKeepalived 启动服务nginxkeepalived 服务验证查看 VIP 状态CURL 命令访问浏览器访问 高可用验证停止…

自动拆箱与装箱

自动拆箱与装箱 先进行专栏介绍自动拆箱与装箱是Java语言中一个重要的特性,它们在编程过程中起着至关重要的作用。本文将深入探讨自动拆箱与装箱的原理和相关细节。概念基本概念分析 原理自动拆箱的原理自动装箱的原理总结 注意事项代码示例 先进行专栏介绍 本专栏…

(三十五)ArcMap创建最小边界几何

ArcMap数据管理——创建最小边界几何 目录 ArcMap数据管理——创建最小边界几何1.概念2.插图3.几何类型4.组选项(可选)5.将几何特征作为属性添加输出中 (可选)1.概念 创建包含若干面的要素类,用以表示封闭单个输入要素或成组的输入要素指定的最小边界几何。 2.插图 输出最…

数据可视化工具LightningChart .NET正式发布v10.5.1——拥有全新的3D新功能

LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学…

基于esp32设计多功能应用卡片appcard

基于esp32的多功能应用卡片,支持时钟天气,粉丝计数器,闹钟,倒计日,游戏,电子书,图片,视频,新闻,股票,离线模式等功能。 硬件部分及程序烧录: 一,pcb和电路图直接见开源项目,附件中有Gerber文件可直接打板。 1,pcb打板要求,板子厚度1.6mm,其他无要求 二,元…

详解很多公司都在用的国产分布式任务调度框架:XXL-JOB

1.简介 1.1 Quartz的不足 之前我们讲述了分布式任务调度任务框架老大哥:Quartz,但是Quartz 使用起来也比较麻烦,不尽人意。个人总结其使用缺点如下: Quzrtz 并没有内置 UI 管理控制台,导致任务动态管理不够友好调用…

nginx动态同步配置模块nginx-upsync-module

使用场景简介 nginx一般直接在配置文件里配置upstream即可实现负载均衡,但有些特定的环境下此种方式就显得有些局限性。比如后台动态调整节点的时候;调整节点后不想修改配置文件重启nginx。 可以将配置文件从nginx本地迁移到其他第三方服务上如etcd、c…

[C++ 网络协议] 套接字和地址族、数据序列

目录 1. 套接字 1.1 在Linux平台下构建套接字 1.1.1 用于接听的套接字(服务器端套接字) 1.1.2 用于发送请求的套接字(客户端套接字) 1.2 在Windows平台下构建套接字 1.2.1 Winsock的初始化 1.2.2 用于接听的套接字(服务器端套接字) 1.2.3 用于发送请求的套接字(客户端套…

申请流量卡的时候,你了解过坑吗?

和营业厅办理的手机卡不同,在网上办理流量卡时要考虑的因素很多,比如合约期,优惠期等等,如果如果这几个方面不注意很容易买到套路卡哟。 ​ 所以,我们在办理流量卡是时,不要只看重资费,这几样重…

手机里视频太大怎么压缩?压缩教程分享

现在视频文件的体积越来越大了,动不动就是几个GB起步,如果后期再剪辑处理一下,更是会占据更多的设备空间了,还会导致我们传输受到限制,这时候就需要我们对视频进行压缩处理,下面给大家分享几个简单的方法&a…

Zorin OS 16.3 发布:无缝升级和卓越改进!

导读Zorin OS 团队自豪地宣布了备受期待的 Zorin OS 16.3 版本的发布,这是这个受欢迎的 Linux 发行版的一个里程碑版本。自首次发布以来不到两年时间,Zorin OS 已经获得了庞大的用户群体,截至目前已经有 530 万次下载,而 16.3 版本…

一步步教你实现JWT认证和授权

一步步教你实现JWT认证和授权 前言一、引入二、Token认证与JWT认证的关系三、什么是JWT认证?四、JWT的组成1、头部(Header)2、载荷(Payload)3、签名(Signature) 五、JWT认证的工作流程六、代码举…

Matplotlib 多个子图使用一个图例

1 所有子图的图例相同 **利用函数fig.axe.get_legend_handles_labels()得到图的line和label import matplotlib.pyplot as pltfig plt.figure() axes fig.subplots(nrows2, ncols2)for ax in fig.axes:ax.plot([0, 10], [0, 10], labellinear) # 使用最后一个子图的图例 li…

5V升压到12V2A芯片方案

5V升压到12V2A芯片方案,采用了一款2.7V-18V输入,4.5V-18V输出的峰值10A同步升压芯片,内置了MOS,封装为QFN13。 在电子设备中,经常会遇到需要将低电压提升到较高电压的情况。例如,对于一些需要12V电压供电的…

CAD转kml插件acad2kml分享下载

KML(Keyhole Markup Language)是一种用于描述地理数据的格式,它由Google公司开发并在2008年成为开放标准。KML使用XML语法,可以用于表示地理点、线、多边形、图像覆盖物以及相关属性信息。 KML是一种用于描述地理数据的开放格式&…

多维时序 | MATLAB实现CNN-BiGRU-Attention多变量时间序列预测

多维时序 | MATLAB实现CNN-BiGRU-Attention多变量时间序列预测 目录 多维时序 | MATLAB实现CNN-BiGRU-Attention多变量时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现CNN-BiGRU-Attention多变量时间序列预测,CNN-BiGRU-Attent…

如何高效解决“字符串相乘“问题?

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ >🐻推荐专栏1: 🍔🍟🌯C语言初阶 🐻推荐专栏2: 🍔🍟🌯C语言进阶 🔑个人信条: 🌵知行合一 金句分…

rv1126设置静态ip

开发板配网--------------------------------------------------------------------------------------------- 刚拿到的开发板里面的网络配置大多不可用,此时是无法ping通的,这个时候需要重新修改相关的配置文件; Vi /etc/profile 最后面…

如何将苹果彻底删除视频找回?试试这3种方法

如今是短视频时代,大家通常会使用苹果手机来拍摄视频,以此记录生活中的美好日常。但是大家都知道视频是十分占空间的,这也经常会出现iPhone内存不足,磁盘崩溃的问题。 当遇到iPhone内存不足的情况时,大家往往会选择清…