Pytest-order插件

目录

pytest自定义用例执行顺序

安装插件

绝对顺序

同一个文件中

跨文件

相对顺序

总结


只有认知的突破 💫才能带来真正的成长 💫编程技术的学习 💫没有捷径 💫一起加油💫

🍁感谢各位的观看 🍁欢迎大家留言 🍁咱们一起加油 🍁努力成为更好的自己🍁

pytest自定义用例执行顺序

pytest默认是按用例的字母顺序来执行的。pytest可以自定义用例的执行顺序,它有两种自定义的方式,绝对和相对,绝对和相对的方式的优先级,跨文件也成立。

安装插件

它需要安装一个插件------pytest-order。指令:pip install pytest-order

绝对顺序

语法:@pytest.mark.order(数字),数字代表优先级,数字越小优先级越高。跨文件也成立。

同一个文件中

如下所示的代码。

python 复制代码
import  pytest

@pytest.mark.order(3)
def test_1():
    print("test_1")

@pytest.mark.order(2)
def test_2():
    print("test_2")

@pytest.mark.order(1)
def test_3():
    print("test_3")

如下图所示。

跨文件

跨文件中,优先级也存在。如下所示的两个文件。

|-------------------------------------------------------------------------------|------------------------------------------------------------------------------|
| #test_01.py import pytest @pytest.mark.order(1) def test_3(): print("test_3") | #test_02.py import pytest @pytest.mark.order(5) def test_2(): print("first") |

如下所示的结果。

相对顺序

指令:@pytest.mark.first,@pytest.mark.second,@pytest.mark.secondlast,@pytest.mark.last。

优先级:first -> second -> secondlast ->last

如下所示的代码。

python 复制代码
import  pytest

@pytest.mark.second
def test_2():
    print("test_2")
@pytest.mark.first
def test_3():
    print("test_3")

如下所示的执行结果。

总结

在使用first,sencond......的时候,会告警。因为Pytest没有识别到这些标记,所以可以在pytest.ini文件中配置一些信息,来表明这些标记。如下所示。

python 复制代码
[pytest]
markers =
    first: 标记用例最先执行
    second: 标记用例第二个执行
    last: 标记用例最后执行
    secondlast: 标记用例倒数第二个执行
相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
A__tao5 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢5 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
迷藏4945 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
明日清晨6 小时前
python扫码登录dy
开发语言·python
bazhange6 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
人工干智能6 小时前
科普:python中你写的模块找不到了——`ModuleNotFoundError`
服务器·python
unicrom_深圳市由你创科技7 小时前
做虚拟示波器这种实时波形显示的上位机,用什么语言?
c++·python·c#
小敬爱吃饭7 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
宸津-代码粉碎机7 小时前
Spring Boot 4.0虚拟线程实战调优技巧,最大化发挥并发优势
java·人工智能·spring boot·后端·python