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

pytest 系列-筛选用例新姿势,mark 一下,你就知道

之前给大家介绍了 pytest 的特性,以及它的编写用例的简单至极。

那么在实际工作当中呢,我们要写的自动化用例会比较多,不会都放在一个 py 文件里。

如下图所示,我们编写的用例存放在不同的 py 文件当中。

当我们想只运行诸多 py 文当中的部分用例,怎么办呢?

比如自动化工作当中,选择 test_a,test_33,test_000 这 3 个用例来运行的话,如何过滤呢?

pytest.mark 一下

在 pytest 当中,先给用例打标记,在运行时,通过标记名来过滤测试用例。

步骤 1:给用例打标签

给用例打标记分为 2 个步骤:

1)注册标签名

官方提供的注册方式有 2 种,这里只提供一种最简单直接的方式:

通过 pytest.ini 配置文件注册。在 pytest.ini 文件当中:

[pytest] # 固定的 section 名

markers= # 固定的 option 名称

标签名1: 标签名的说明内容。

标签名2

标签名N

示例如下:

**2)在测试用例/测试类中给用例打标记(只能使用已注册的标记名)**

在 测试用例的前面加上:@pytest.mark.已注册标签名

如下图,对 3 个测试文件当中的,要筛选出来的用例,都打了 me 标签 。

步骤 2:运行时,根据用例标签过滤(-m 标签名)

pytest 提供了命令行参数来配置运行时的条件。

在命令行当中,输入 pytest --help 来查看所有可用的参数。

也可以调用 pytest.main()函数,将运行时的参数以列表传进去,同样也可以达到命令行运行的效果。

根据标签名过滤用例的参数为:-m 标签名

运行此文件的结果:

本文作者:柠檬班软件测试(lemonban)——专注于最新最前沿的软件测试技术,解决你的测试技术烦恼,对软件测试感兴趣的朋友赶快关注我们吧!

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券