首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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标记之后,只会有一个用例执行

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

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

(.venv) >pytest -m api

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

4. 小结

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

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

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OcTsp1Xq6qkyZjOtVYWcf15g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券