pytest学习——自定义标签
前言
通过pytest的mark系列装饰器,我们可以对测试函数添加一些描述信息。比如,我们需要对测试的优先级进行设置,p0表示最高优先级,p1次之,p2,p3更次之。
1.创建自定义标签
使用方法如下:
import pytest
class TestLogin:
@pytest.mark.p0
def login_success(self):
print("登录成功")
@pytest.mark.p1
def login_fail(self):
print("登录失败")
我们运行测试 pytest -m p0
结果如下:
PytestUnknownMarkWarning: Unknown pytest.mark.p0 - is this a typo? You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html
PytestUnknownMarkWarning,
– Docs: https://docs.pytest.org/en/latest/warnings.html
==================================================== 2 deselected, 2 warnings in 0.06 seconds ====================================================
可以看到有1个警告,提示我们p0是一个未知的标记,需要我们注册一下
2.注册自定义标签
在项目的根目录创建一个pytest.ini文件这样pytest就可以识别了
内容如下:
[pytest]
markers =
p0: 优先级第一
p1: 优先级第二
UI: ui自动化
api: 接口自动化
再次运行测试 pytest -m p0发现警告消失
3.分组和筛选
我们想要的可能不仅仅是标记测试,添加描述信息,更想根据这些信息来对测试进行分组和筛选。比如测试模块应用了如下标签。`
import pytest
class TestLogin:
@pytest.mark.p0
@pytest.mark.API
def login_success(self):
print("登录成功")
@pytest.mark.p1
@pytest.mark.UI
def login_fail(self):
print("登录失败")
如果我们只想执行p1的测试用例,可以很容易的做到
pytest -m p1
执行所有p1和p0的测试
pytest -m “p0 and p1”
执行所有优先级不是p1的测试
pytest -m “not p1”
注意:标记是区分大小写的,为了避免混淆,我们可以要求pytest不接受未注册的标记
[pytest]
addopts = --strict-markers
markers =
p0: 优先级第一
p1: 优先级第二
UI: ui自动化
api: 接口自动化
经过这样的设置,当pytest看到未注册的标记时,不会抛出警告,而是抛出错误。这样更显示的提醒我们,避免潜在问题
4.查看mark标签
可以通过pytest --markers命令查看所有的mark标签,有内置的makers可以使用,也可以自己定义
显示如下:
@pytest.mark.p0: 优先级第一
@pytest.mark.p1: 优先级第二
@pytest.mark.UI: ui
@pytest.mark.API: 接口
@pytest.mark.skip(reason=None): skip the given test function with an optional reason. Example: skip(reason=“no way of currently testing this”) skips the test.
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgcfjif
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13