热门话题解析:pytest测试用例顺序问题解决方案!

前言

上一篇文章我们讲了在pytest中测试用例的命名规则,那么在pytest中又是以怎样的顺序执行测试用例的呢?

在unittest框架中,默认按照ACSII码的顺序加载测试用例并执行,顺序为:09、AZ、a~z,测试目录、测试模块、测试类、测试方法/测试函数都按照这个规则来加载测试用例。

而 pytest 中的用例执行顺序与unittest 是不一样的,pytest有默认的执行顺序,还可以自定义执行顺序。

pytest 默认执行顺序

  • 测试目录、测试模块,按照排序顺序执行

    执行顺序如下:

  • 同一测试模块下的执行顺序

    import pytestclass TestOrder:def test_e(self):print("test_e")def test_4(self):print("test_4")def test_b():print("test_a")def test_a():print("test_a")def test_2():print("test_2")def test_1():print("test_1")if __name__ == '__main__':pytest.main()
    

    执行顺序如下:

自定义执行顺序

pytest 框架支持自定义测试用例的执行顺序,需要安装pytest-ordering插件。

安装
pip install pytest-ordering
使用

需要使用 @pytest.mark.run(),代码如下:

import pytestclass TestOrder:def test_e(self):print("test_e")def test_4(self):print("test_4")def test_b():print("test_a")@pytest.mark.run(order=2)
def test_a():print("test_a")@pytest.mark.run(order=1)
def test_2():print("test_2")def test_1():print("test_1")if __name__ == '__main__':pytest.main()

执行顺序如下:

在测试模块中,先执行被@pytest.mark.run() 标记的测试方法/测试函数,再按默认顺序执行其他的。

总结

虽然 pytest 可以自定义测试用例执行顺序,但是实际测试用例设计的过程中,不应该让用例的执行有先后顺序,即任意单独的测试用例都是独立的完整的功能点的校验,不对其他用例有依赖。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

 

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

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

相关文章

Codeforces Round 906 (Div. 2)(D推公式 E1分类讨论区间 E2 dp+线段树)

A - Doremys Paint 3 推公式得 b1b3b5b7.... b2b4b6b8... 所以如果只有一个数或者两个数且数量差小于等于1即可 #include<bits/stdc.h> using namespace std; const int N 2e510,mod1000003; #define int long long typedef long long LL; typedef pair<int, in…

第三方实验室LIMS管理系统源码,asp.net LIMS源码

LIMS实验室信息管理系统源码 LIMS系统的功能根据实验室的规模和任务而有所不同&#xff0c;其系统主要功能包括:系统维护、基础数据编码管理&#xff0c;样品管理、数据管理、报告管理、报表打印、实验材料管理、设备管理等。它可以取代传统的手工管理模式而给检测实验室带来巨…

java获取第n次出现字符串前后面字符串,如:截取第二个逗号后面的数据

java获取第n次出现字符串前后面字符串&#xff0c;如&#xff1a;截取第二个逗号后面的数据 方法&#xff1a; /*** 获取指定第几位字符串后面字符串&#xff0c;如&#xff1a;截取第二个逗号后面的数据** param str:要处理的字符串* param mediumStr&#xff1a;根据截取的媒…

时间序列异常检测14篇顶会论文合集,附必备工具和数据集

今天来聊聊一个在量化交易、网络安全检测、自动驾驶汽车和大型工业设备的日常维护等领域都有重要作用的研究主题&#xff1a;时间序列异常检测。 时间序列异常检测是一种在时间序列数据中识别和标识与预期模式、趋势或行为不符的异常点或事件的技术。鉴于它如此广泛的应用范围…

18、串口通信

串口介绍 串口是一种应用十分广泛的通讯接口&#xff0c;串口成本低、容易使用、通信线路简单&#xff0c;可实现两个设备的互相通信。 单片机的串口可以使单片机与单片机&#xff0c;单片机与电脑、单片机与各式各样的模块互相通信&#xff0c;极大的扩展了单片机的应用范围&…

MySQL InnoDB Cluster

MySQL InnoDB Cluster 一、InnoDB Cluster 基本概述 MySQL InnoDB Cluster 为 MySQL 提供了一个完整的高可用解决方案。通过使用 MySQL Shell 提供的 AdminAPI,你可以轻松地配置和管理一组至少由3个MySQL服务器实例组成的 InnoDB 集群。 InnoDB 集群中的每个 MySQL 服务器实例…

JRT和检验共用的打印层实现

之前对接的打印和导出是C#实现的&#xff0c;如果要完全Java化就需要用Java把打印元素绘制协议用Java实现&#xff0c;这次介绍实现主体搭建&#xff0c;最终使JRT达到完全信创和跨平台目标。到这篇后&#xff0c;所有的Java难题都解决完毕&#xff0c;几天到几周之内就可以把打…

(二进制、八进制、十进制、十六进制)的进制转换

整型有4种进制形式&#xff1a; 1.十进制&#xff1a; 都是以0-9这九个数字组成&#xff0c;不能以0开头。 2.二进制&#xff1a; 由0和1两个数字组成。 3.八进制&#xff1a; 由0-7数字组成&#xff0c;为了区分与其他进制的数字区别&#xff0c;开头都是以0开始。 4.十六进制…

聚类算法的算法原理

聚类算法是机器学习中常用的一种无监督学习方法&#xff0c;其主要目标是将数据集划分为具有相似特征的组或簇。这种算法在数据挖掘、模式识别、社交网络分析等领域有着广泛的应用。聚类算法的核心思想是通过计算数据点之间的相似度或距离&#xff0c;将相似的数据点聚集在一起…

WordPress 粘贴图片上传插件

找了很久&#xff0c;发现一款不错的插件&#xff0c;允许我们直接粘贴图片文件并且上传到媒体库。以前的插件上传后媒体库不会显示&#xff0c;这个要显示。 启用后编辑器会有一个图标&#xff0c;如果开启&#xff0c;那么久可以截图后直接粘贴了。 学习资料源代码&#xf…

TR转发路由器测评—云企业网实现跨地域跨VPC的网络互通测评实战【阿里云产品测评】

文章目录 一.转发路由器 Transit Router 测评1.1 准备阶段1.2 本文测评收获1.3 什么是云企业网实例、转发路由器实例和云数据传输服务 二.使用云企业网实现跨地域跨VPC的网络互通2.2 **测试连通性**2.3 网络拓扑如下&#xff1a; 心得&#xff1a;总结&#xff1a; 声明&#x…

基于SpringBoot房屋租赁系统

摘 要 社会的发展和科学技术的进步&#xff0c;互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大人民群众的喜爱&#xff0c;也逐渐进入了每个用户的使用。互联网具有便利性&#xff0c;速度快&#xff0c;效率高&#xff0c;成本低等优点。 因此&#xff0c;构建符…

JSON.stringify方法详解 后端接受JSON数据格式

1、方法定义&#xff1a;JSON.stringify(value, replacer, space) 参数说明&#xff1a; value&#xff1a;js对象 replacer&#xff1a;替换对象&#xff0c;可以是一个方法、对象或数组&#xff0c;将value按照替换规则展示。 space&#xff1a;填充参数&#xff0c;可以是数…

Python排序算法大比拼:快速排序 VS 归并排序

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 快速排序和归并排序是两种常见的排序算法&#xff0c;在Python中有着重要的应用。本文将深入探讨这两种算法的原理和实现&#xff0c;并提供丰富的示例代码来说明它们的工作方式。 快速排序算法 def quicksort…

NSSCTF第13页(3)

[FSCTF 2023]巴巴托斯&#xff01; 看见个输入路径&#xff0c;打了半天没进去&#xff0c;php伪协议也打不进去&#xff0c; 用dirsearch扫一下 看了半天才看出来&#xff0c;那串英文 Access Denied! I love FSCTF Browser 是要用FSCTF浏览器&#xff0c;改一下ua头就行了…

数字图像处理(实践篇)十二 基于小波变换的图像降噪

目录 一 基于小波变换的图像降噪 &#xff08;1&#xff09;小波变换基本理论 &#xff08;2&#xff09;小波分析在图像处理中的应用 &#xff08;3&#xff09;小波变换原理 &#xff08;4&#xff09;小波降噪原理 &#xff08;5&#xff09;小波降噪算法的实现 &…

vsVode C++开发远程虚拟机工程配置

在使用VS Code进行C/C的开发过程中&#xff0c;有三个至关重要的配置文件&#xff0c;分别是 tasks.json, launch.json 和 c_cpp_properties.json 1. tasks.json tasks.json 是在 vscode 中辅助程序编译的模块&#xff0c;可以代你执行类似于在命令行输入 “gcc hello.c -o h…

解决webpack打包生成gz格式css/js文件没法在nginx使用的问题--全网唯一正确

本文绝对是全网解决这个问题唯一正确的文章&#xff0c;没有之一&#xff01; 很多人都说开启nginx gzip压缩&#xff0c;这些人完全是胡说八道&#xff01;你们到底懂不懂叫gzip压缩啊&#xff1f;&#xff01; 不信你就试试&#xff0c;如果css/js只有gz文件&#xff0c;ng…

排序分析(Ordination analysis)及R实现

在生态学、统计学和生物学等领域&#xff0c;排序分析是一种用于探索和展示数据结构的多元统计技术。这种分析方法通过将多维数据集中的样本或变量映射到低维空间&#xff0c;以便更容易理解和可视化数据之间的关系。排序分析常用于研究物种组成、生态系统结构等生态学和生物学…

中伟视界:AI盒子中的报警预录像功能能解决什么问题?实现原理是怎样的?

现代社会智能安防已成为各行各业的重要一环&#xff0c;而AI盒子中的报警预录像功能更是智能安防的一大利器。这一功能能够解决很多安防方面的难题&#xff0c;其实现原理更是技术创新的体现。 首先&#xff0c;让我们来看看AI盒子中的报警预录像功能能解决哪些问题。在传统的安…