Python测试框架之unittest和pytest 的区别

一、Unittest

Unittest是Python标准库中自带的单元测试框架,Unittest有时候也被称为PyUnit,就像JUnit是Java语言的标准单元测试框架一样,Unittest则是Python语言的标准单元测试框架。

Unittest支持自动化测试,测试用例的初始化、关闭和测试用例的聚合等功能,它有一个很重要的特性:它是通过类(class)的方式,将测试用例组织在一起。

示例:

Python测试框架之unittest和pytest 的区别
执行结果:
Python测试框架之unittest和pytest 的区别
注:unittest有一个关联模块unittest2,但unittest2仅适用于Python 2.4-2.6。这是由于从Python 2.7开始,unittest增加一些新的特性。为了在老的版本中支持这些特性,所以提供了unittest2这个库。但对于Python 2.7及之后的版本,unittest是唯一的。本次示例中使用的为python2.7。

; 二、Pytest

Pytest是Python的另一个第三方单元测试库。它的目的是让单元测试变得更容易,并且也能扩展到支持应用层面复杂的功能测试。

pytest的特性有:

  • 支持用简单的assert语句实现丰富的断言,无需复杂的self.assert*函数
  • 自动识别测试模块和测试函数
  • 模块化夹具用以管理各类测试资源
  • 对 unittest 完全兼容,对 nose基本兼容
  • 支持Python3和PyPy3
  • 丰富的插件生态,已有300多个各式各样的插件,社区繁荣

示例:

Python测试框架之unittest和pytest 的区别
执行结果:
Python测试框架之unittest和pytest 的区别

三、Unittest vs Pytes

Python测试框架之unittest和pytest 的区别

; 总结:

总体来说,unittest用例格式复杂,兼容性无,插件少,二次开发方便。pytest更加方便快捷,用例格式简单,可以执行unittest风格的测试用例,无须修改unittest用例的任何代码,有较好的兼容性。pytest插件丰富,比如flask插件,可用于用例出错重跑,还有xdist插件,可用于设备并行执行,效率更高。

最后为方便大家学习测试,特意给大家准备了一份13G的超实用干货学习资源,涉及的内容非常全面。

Python测试框架之unittest和pytest 的区别
包括,软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2021软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助……有需要的小伙伴可以下方加群免费领取!

Original: https://blog.csdn.net/weixin_54696666/article/details/128044165
Author: 程序员二黑
Title: Python测试框架之unittest和pytest 的区别

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/772740/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • python小游戏之一

    20行python代码的入门级小游戏 猜数字小游戏python实现(可用来撩妹撩汉) python打造特别火的一个小游戏,16行代码实现3D撞球小游戏! python小游戏-16行…

    Python 2023年9月21日
    050
  • 一文读懂Apache Geode缓存中间件

    读写吞吐量由并发主存储器数据结构和高度优化的分发基础结构提供。 应用程序可以通过同步或异步复制在内存中动态复制数据,以实现高读取吞吐量,或者跨多个系统成员对数据进行分区,以实现高读…

    Python 2023年10月20日
    037
  • 如何在 .Net 7 中将 Query 绑定到数组

    在 .Net 7 中,我们可以通过绑定数组的方式来接收来自查询字符串的参数。这样就不需要再使用逗号分隔的字符串来获取参数了。 代码演示 假设我们需要从 query 上接受多个 id…

    Python 2023年10月11日
    045
  • python基础(待补充)

    第一篇:计算机的基础知识 编程语言的介绍 计算机介绍和五大组成 平台与软件跨平台介绍 CS、BS架构和网络通信协议 操作系统的介绍 cpu详解 存储器详解 操作系统启动流程和BIO…

    Python 2023年11月1日
    029
  • 用Python实现简单的人脸识别,10分钟搞定!(附源码)

    前言 让我的电脑认识我,我的电脑只有认识我,才配称之为我的电脑! 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于pyt…

    Python 2023年9月26日
    035
  • Python数据分析与挖掘——使用Matplotlib绘制直方图

    在Matplotlib中有一个专门绘制直方图的函数hist(),用来显示一组数据的分布情况。 使用hist()函数, 无需对数据进行分拣整理,即可自动生成直方图。使用格式如下: p…

    Python 2023年8月31日
    043
  • Scrapy框架-ItemPipeline的用法

    ItemPipeline的用法 主要功能: 核心方法 ItemPipeline实例 * 构造请求 提取信息 存储信息 – MongoDB MySQL Image Pip…

    Python 2023年10月6日
    032
  • Python库之数据可视化—Matplotlib

    文章目录 前言 💙Matplotlib库简介 * 🍎matplotlib.pyplot 库概述 🍓matplotlib.pyplot 库解析 💜plt 库绘图区域函数 * 🌳fig…

    Python 2023年9月1日
    064
  • 实用的Python案例

    Python是目前最流行的语言之一,它在数据科学、机器学习、web开发、脚本编写、自动化方面被许多人广泛使用。它的简单和易用性造就了它如此流行的原因。 在本文中,我们将会介绍 30…

    Python 2023年5月24日
    056
  • fastapi 用户权限,登录,退出登录组件

    将在前面的话 fastapi默认的组件,官网上其实也有,关于权限什么的,在这里 FastAPI 安全性简介但是我在学习过程中,发现他官方提供的默认组件,有以下缺陷(当然这些是我个人…

    Python 2023年8月14日
    074
  • 数据可视化——Python

    文章目录 一、matplotlib图表组成元素 * 1.1 折线图plot() 1.2 图形的保存 1.3 设置坐标轴上下限 – 1.3.1 xlim(),ylim()…

    Python 2023年9月6日
    072
  • Python之Numpy矩阵操作

    Numpy是Python的一个重要科学计算库。 矩阵操作是深度学习、数值计算的重要部分。 只介绍矩阵操作的代码实现,不介绍数学原理。 下面是一些常用的使用Numpy库矩阵操作。 i…

    Python 2023年8月26日
    051
  • Pytest+POM+数据驱动yaml+Allure测试报告+Jenkins自动化测试,可持续集成

    Pytest+POM+数据驱动+Allure测试报告+Jenkins 1.PyTest测试框架介绍与环境部署 pytest是非常主流的单元测试框架单元测试:对软件中最小单元的测试 …

    Python 2023年9月10日
    052
  • MATLAB环境下基于振动信号的轴承状态监测和故障诊断

    做多了基于机器学习和深度学习的机械故障诊断,感觉实在没意思,换个口味,写一下基于现代信号处理的轴承状态监测和故障诊断。本文主要讲解如何从滚动轴承的振动信号中提取特征、进行状态监测和…

    Python 2023年10月26日
    042
  • inx函数python_Python数据分析入门

    如今数据分析越来越重要,比起使用excel等工具,使用编程语言更加高效。这篇文章主要介绍一些简单的数据分析入门知识,使用的语言是python。 读取csv文件 数据分析的第一步是要…

    Python 2023年8月8日
    046
  • Django3:请求及响应

    一、Django中的请求 请求在Django中实则就是视图函数中的第一个参数,即HttpRequest对象。Django接收到http协议的请求后,会根据请求数据报文创建HttpR…

    Python 2023年8月4日
    039
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球