pytest-yaml-sanmu(四):标记和筛选YAML用例

图片

pytest-yaml-sanmu 插件为 yaml 用例文件提供了 @pytest.mark 的支持。

mark 中最基本的应用是用例标记和筛选,本文对此进行了具体的演示。

1. 在 pytest.ini 注册标记

在 pytest 中标记在使用前需要先进行 “注册”,具体来说,是在 pytest.ini 进行设置,来看具体的示例:

[pytest]markers =    api:接口测试    web:Web测试    app

在上面的例子中,一共创建了 3 个标记:

  • api

  • web

  • app

其中 api 和 web 标记提供了标记说明,app 没有提供,这是因为标记描述是选填,可以省略。

标记注册成功后会成为 pytest 的一部分,可通过 pytest 命令查询到

​​​​​​​​​​​​​​

如果执行 pytest 命令能够看到你的标记,说明就注册好了,接下来可以在用例中使用标记。

2. 在用例中使用标记

使用标记时,在 mark 字段下添加标记名称即可

注意:

  • 每个用例可以拥有多个不同的标记

  • 每个标记也可以添加给不同的用例

所以下一个用例和上面的用例同时存在

3. 根据标记筛选用例

给用例添加好标记后,启动 pytest 时传递 -m <标记名> 即可筛选用例,只有执行拥有指定标记的用例。

例如,传递 web 标记之后,只会有一个用例执行

(.venv) >pytest -m web

图片

图 1. 筛选 web 标记只执行 1 个用例

传递 app 标记之后,只会有一个用例执行

(.venv) >pytest -m app

图片

图 2. 筛选 app 标记只执行 1 个用例

传递 api 标记之后,会有两个用例执行

(.venv) >pytest -m api

图片

图 3. 筛选 app 和 web 标记执行 2 个用例

4. 小结

用例标记和筛选是 pytest 标记最基础的用法。

除了用户注册的标记之外,pytest 还内置了一些特殊标记,如果为用例使用这些特殊标记,可以得到不同的特殊效果。在后续的更新会有详细介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值