Pytest 分组测试

news/2024/11/17 22:19:59/

有时候需要针对不同的测试环境跑不同的测试用例,如:冒烟测试、sit、uat、prd,所以给自动化测试用例做标记分组是很有必要的,pytest.mark 可以轻松实现这个功能。首先需要注册自定义标记。

注册marks

有3中方法注册marks,第一种事在pytest.ini文件

通过pytest.ini文件注册自定义标记

如下:

[pytest]
markers =sit: 标记测试为sit (deselect with '-m "not sit"')uat: 标记测试为uatprd: 标记测试为prd serial

通过 pyproject.toml文件注册自定义标记

[tool.pytest.ini_options]
markers = ["sit: 标记测试为sit (deselect with '-m \"not sit\"')","serial",
]

注意标记名:后面的为可选的标记描述

通过pytest_configure hook动态注册标记

def pytest_configure(config):config.addinivalue_line("markers", "env(name): mark test to run only on named environment")

给未知标记抛出异常

使用@pytest.mark.name_of_the_mark装饰器应用的未注册标记将始终发出警告,以避免由于键入错误的名称而导致的意外行为。可以通过在pytest.ini文件中注册自定义标记或使用自定义pytest_configure钩子来禁用自定义标记的警告。

当传递--strict marks命令行标志时,使用@pytest.mark.name_of_the_mark装饰器应用的任何未知标记都将触发错误。您可以在项目中通过向addopts添加--strict标记来强制执行此验证:

[pytest]
addopts = --strict-markers
markers =slow: marks tests as slow (deselect with '-m "not slow"')serial

使用自定义标记

import pytestclass TestPractise:@pytest.mark.sitdef test_sit(self):print('sit环境测试')@pytest.mark.uatdef test_uat(self):print('uat环境测试')if __name__ == "__main__":pytest.main(["-v", "-s", "-m sit and not uat"])

以上测试选择sit标记的测试,不选中uat标记的测试

输出如下:

 从图片看出运行结果与期望一致~


http://www.ppmy.cn/news/300602.html

相关文章

死锁细究!

一、死锁的定义&危害 1、死锁是什么 发生在并发中互不想让:当两个(或更多)线程(或进程)相互持有对方所需要的资源,又不主动释放,导致所有人都无法继续前进,导致程序陷入无尽的…

解决Mac OS CPU频繁发热,风扇狂暴的问题 By 降低睿频,关闭 Turbo Boost。

1 起因 之前刚买回来Mac,就发现有时候CPU莫名超过100%,风扇也会快速响起来。特征如下: 打开活动监视器,若干个进程超过100%,包括但不限于: googleChrome helper finder oneDrive weChat flash … 最近因为…

STM32F103c8t6超频

STM32F103c8t6超频 STM32F103C8T6官方说的主频为72MHz。但为了好奇,我决定去网上买一个STM32f103最小系统进行超频。如下图所示: 像上图这种最小系统,一般都有一个LED灯,接在STM32的PC13上。一开始,我想通过LED的闪烁…

你会CPU超频?这些CPU超频注意事项你都做到了吗?

CPU是电子计算机的主要设备之一,CPU 是对计算机的所有硬件资源(如存储器、输入输出单元) 进行控制调配、执行通用运算的核心硬件单元。为增进大家对CPU的认识,本文将对CPU超频注意事项予以介绍。如果你对CPU具有兴趣,不妨继续往下阅读哦。 1…

传奇怎么修改服务器启动天数,传奇服务端加入有天数会员系统方法

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 传奇服务端加入有天数会员系统方法 会员系统主要用来对一些加盟玩家的特殊控制。可以用IP地址,登录帐号,角色名,之类的为标志控制。 相关脚本命令 设置会员类型:SETMEMBERTYPE 设置会…

奇数前,偶数后排序

void move(int *arr,int sz) { int left 0; int right sz - 1; while (left < right)//left必须小于right 防止指针越界 { //从左边找偶数 while (left < right && arr[left] % 2 1) { left; } …

头部大模型公司进京赶考,向量数据库成为应考神器

日前&#xff0c;由品玩主办的「模型思辨」国内大模型产业生态研讨会在北京举办&#xff0c;Zilliz 与 360 集团、阿里巴巴、昆仑万维等来自大模型产业链的头部公司及投资机构参会&#xff0c;会上 Zilliz 创始人兼首席执行官星爵、360 集团创始人周鸿祎、昆仑万维创始人方汉等…

MsSqlServer2008R2移动数据库迁移复制粘贴附加.mdf不要.ldf日志 230609记录

MsSqlServer2008R2数据库迁移复制粘贴附加.mdf 230609记录 将一个SqlServer的某个数据文件.mdf拷贝到另一个数据库当中,并启用 操作工具为 SSMS(SQL Server Management Studio) 19.1 免费下载 SQL Server Management Studio (SSMS) 19.1 .mdf文件 SQL Server 数据库中的三…