pytest学习和使用11-Pytest如何使用自定义标记mark?
2023-03-07 09:42:13 时间
1 mark简介
pytest
可自定义标记;- 把一个大项目自动化用例,划分多个模块,标明哪些是模块A用例,哪些是模块B的,运行代码时候指定mark名称运行就可以。
2 使用方法
@pytest.mark.自定义名称
3 实例
# -*- coding:utf-8 -*-
# 作者:NoamaNelson
# 日期:2022/11/18
# 文件名称:test_mark.py
# 作用:自定义标记mark的使用
# 联系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson
import pytest
@pytest.mark.login
def test_login():
print("用户登陆")
@pytest.mark.case_a
def test_case_a():
print("执行用例a")
@pytest.mark.case_b
def test_case_b():
print("执行用例b")
@pytest.mark.quit
def test_quit():
print("用户退出")
- 运行一个标记:
pytest -s -m login test_mark.py
collected 4 items / 3 deselected / 1 selected
test_mark.py 用户登陆
.
- 运行多个标记:
pytest -s -m "login or case_a or case_b or quit" test_mark.py
collected 4 items
test_mark.py 用户登陆
.执行用例a
.执行用例b
.用户退出
.
- 不运行某个标记,直接取反即可:
pytest -s -m "not quit" test_mark.py
collected 4 items / 1 deselected / 3 selected
test_mark.py 用户登陆
.执行用例a
.执行用例b
.
4 如何忽略警告?
- 运行上述标记后,有很多警告信息,如下:
============================================== warnings summary ==============================================
test_mark.py:11
F:\pytest_study\test_case\test_e\test_mark.py:11: PytestUnknownMarkWarning: Unknown pytest.mark.login - is th
is a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/s
table/mark.html
@pytest.mark.login
test_mark.py:15
F:\pytest_study\test_case\test_e\test_mark.py:15: PytestUnknownMarkWarning: Unknown pytest.mark.case_a - is t
his a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/
stable/mark.html
@pytest.mark.case_a
test_mark.py:19
F:\pytest_study\test_case\test_e\test_mark.py:19: PytestUnknownMarkWarning: Unknown pytest.mark.case_b - is t
his a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/
stable/mark.html
@pytest.mark.case_b
test_mark.py:23
F:\pytest_study\test_case\test_e\test_mark.py:23: PytestUnknownMarkWarning: Unknown pytest.mark.quit - is thi
s a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/st
able/mark.html
@pytest.mark.quit
-- Docs: https://docs.pytest.org/en/stable/warnings.html
================================ 3 passed, 1 deselected, 4 warnings in 0.03s =================================
- 那如何避免这些警告呢?
- 我们需要创建一个
pytest.ini
文件,加上自定义mark; - 另外,
pytest.ini
需要和运行的测试用例同一个目录,或在根目录下作用于全局; - 后边再详细学习
pytest.ini
,先看下本文如何避免警告,我们在用例同级目录创建一个pytest.ini
:在这里插入图片描述 - 并写入以下内容:
[pytest]
markers =
login: 这是用户登陆功能
case_a: 这是用例a
case_b: 这是用例b
quit: 这是用户退出功能
- 再次运行标记,发现警告信息没有了:
pytest -s -m "login or case_a or case_b or quit" test_mark.py
collected 4 items
test_mark.py 用户登陆
.执行用例a
.执行用例b
.用户退出
.
============================================= 4 passed in 0.03s ==============================================
相关文章
- 发现 Linux SpaceFM 文件管理器的威力
- 夯实数据智能底座 共筑数字经济发展“新基石”
- 五分钟教你使用console.log发布公司的招聘信息
- 微软发布 Windows 11 Beta 预览版 Build 22621.1250 和 22623.1250 (KB5023008)
- Windows 11 学院:在 Windows 11 Build 25290 上如何为文件管理器启用标签页拖拽支持
- 微软Windows 11 Dev 预览版 Build 25290 发布:带来新的开始菜单提醒角标
- 微软正用全屏通知提醒 Windows 10 用户免费升级 Windows 11,要点击 5 次才能退出
- Linux Mint 21.2 将于 6 月发布:改进登录屏幕,优化 Pix 图像管理程序等等
- 字节面试也会问SPI机制?
- 微软正式停售 Windows 10 产品密钥 / 许可证:继续提供 ISO 镜像下载,推荐用户升级 Windows 11
- 用复古电脑程序 Toy CPU 学习低级编程
- Windows 11 新功能泄露:现代音量合成器、实验工具和新的文件管理器
- 微软 Windows 11 文件资源管理器全新设计曝光:UI 迎来大修,整合 Microsoft 365
- 对比Pandas,学习PySpark大数据处理
- 微软宣布为Windows 11 21H2设备开启自动更新到22H2版本
- 互联网都在说降本增效,小红书技术团队是怎么做的?
- 微软将继续提供 Windows 10 ISO 镜像下载,即将停售产品密钥 / 许可证
- 微软宣布为Windows 11 21H2 设备开启自动更新到 22H2 版本
- 面试突击:Properties和Yml有什么区别?
- 微软 Windows 11 Beta 预览版 22621.1245 和 22623.1245 (KB5022358) 发布