pytest和unittest的几个区别

news/2024/9/20 2:47:31/文章来源:https://www.cnblogs.com/chl666/p/18372295

主要区别
1、安装需求:
  pytest:作为第三方单元测试库,需要额外安装。
  unittest:是Python标准库的一部分,无需额外安装。
2、用例编写规则:
  pytest:编写规则较为简单,兼容性好,可以执行unittest风格的测试用例,无需修改unittest用例的任何代码。
  unittest:编写规则较为复杂,需要按照固定的格式编写,如测试类需要以Test开头,测试方法需要以test_开头。
3、自动发现和执行:
  pytest:支持自动发现项目中的测试文件并执行,无需手动添加到测试套件中。
  unittest:需要手动编写测试套件,并手动执行每个测试函数。


4、断言语句:
  pytest:在断言方面提供了更丰富的选项和功能,支持各种比较运算符、断言方法和自定义断言。
  unittest:断言语句相对简单,提供了一些基本的断言方法,如assertEqual、assertTrue等。

5、插件支持:
  pytest:拥有丰富的插件生态系统,可以扩展其功能,如生成测试报告、集成代码覆盖率工具等。
  unittest:不支持插件系统,功能相对固定。
6、兼容性:
  pytest:支持运行unittest编写的测试用例,但unittest不支持运行pytest编写的测试用例

 


7、前后置区别
  pytest:只要有conftest文件,在测试用例中传参后就会自动执行,unittest必须在用例中都写

8、数据驱动的不同

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】分区向左扩容的方法

@目录为什么是向左扩容操作前的备份方法:启动盘试用Ubuntu后进行操作为什么是向左扩容 Linux向右扩容非常简单,无论是系统自带的disks工具还是apt安装的gparted工具,都有图像化的界面可以操作。但是,都不支持向左扩容。笔者这里的磁盘情况如下:其中磁盘1的99.5GB是我的Lin…

linux开机自启脚本运行完之后不关闭应用程序

最近在用petalinux2323.2版本编译的系统镜像,想在系统开机后自动运行程序,发现按照2021.2相同的方式启动之后,软件在开机脚本运行完就会自动退出了,经过查找发现petalinux2023.2编译的镜像默认使用的systemd去运行开机脚本,而2021.2是使用的init.d。在systemd方式下需要在…

读懂财务报表:解密资产负债率与净资产收益率

一、概述 财务报表中隐藏着大量的信息,如果我们在解读时缺乏系统的思路或忽略了关键指标,就很容易被庞杂的数据搞得不知所措。本文将从几个重要指标出发,包括资产负债率、净资产收益率和销售复合增长率的计算与分析,帮助大家更精准地理解财务报表。二、财务报表的重点 首先…

陶瓷基板

【附在每个笔记前面:个人学习记录,如有错误,烦请指正,不胜感激。】一、组成:基片+膜层(基于行业局限性,暂时只看金属化薄膜基板,厚膜下次找机会再学习下) ① 基片材质: 氧化铝、氮化铝、碳化硅、金刚石 受制于成形工艺:即烧型、研磨型、抛光型在公差、表面粗糙…

人工智能 | 结对编程助手GithubCopilot

简介 GitHub Copilot 是一款 AI 结对程序员,可帮助您更快、更少地编写代码。它从注释和代码中提取上下文,以立即建议单独的行和整个函数。GitHub Copilot 由 GitHub、OpenAI 和 Microsoft 开发的生成式 AI 模型提供支持。它可作为 Visual Studio Code、Visual Studio、Neovim…

iLogtail 开源两周年:感恩遇见,畅想未来

iLogtail 的诞生初衷非常朴素,那就是开发一款轻量、高性能、高可靠的可观测数据采集器。也是基于这样一个常见且迫切的需求,iLogtail 于 2013 年在阿里巴巴诞生。早在上世纪 60 年代,早期的计算机(例如 ENIAC 和 IBM 的大型机)在操作过程中会输出一些基本的状态信息和错误…

ant design vue 表格table 和复选框Checkbox结合 实现树形数据操作

前言:最近在做一个权限管理的页面,需要配置权限。业务给的要求在表格里,展示权限以及编辑权限。然后根据权限数组,动态展示模块。 页面需求:可以设定每个公司或者部门的单独权限,可以编辑保存权限 主要实现: 1.全选,反选(递归循环,every,some实现) 2.子级选中其父级…

TCP通信之经典问题解决

先看下面的代码,研究下执行后会出现什么? 服务端: from socket import * ip_port=(127.0.0.1,8003) buffer_size=1024sock_server=socket(AF_INET,SOCK_STREAM) sock_server.bind(ip_port) sock_server.listen(5)while True:print(服务端建立连接...)conn,addr=sock_server.…

看看人家那后端 API 接口写的,那叫一个优雅!

文章来源:https://www.toutiao.com/article/6694404645827117572 在移动互联网,分布式、微服务盛行的今天,现在项目绝大部分都采用的微服务框架,前后端分离方式,(题外话:前后端的工作职责越来越明确,现在的前端都称之为大前端,技术栈以及生态圈都已经非常成熟;以前后…

用一段时间后 QT creator 打开容易卡死

以下为Win11环境 1.win+E打开文件夹,显示隐藏项目 2.找到如下路径的 C:\Users\你的电脑名\AppData\Roaming\QtProject 删除其中文件 3.纵享丝滑

MongoDB系列之一文总结索引

概述 分类 索引的分类:按照索引包含的字段数量,可分为单键索引(单字段索引)和组合索引(联合索引、复合索引) 按照索引字段的类型,可以分为主键索引和非主键索引 按照索引节点与物理记录的对应方式来分,可以分为聚簇索引和非聚簇索引,其中聚簇索引是指索引节点上直接包…

MongoDB系列之WiredTiger引擎

概述 关系型数据库MySQL有InnoDB存储引擎,存储引擎很大程度上决定着数据库的性能。 在MongoDB早期版本中,默认使用MMapV1存储引擎,其索引就是一个B-树(也称B树)。 从MongoDB 3.0开始引入WiredTiger(以下简称WT)存储引擎,在性能及稳定性上都有明显的提升。从MongoDB 3.2…