『德不孤』Pytest框架 — 5、Mark分组执行测试用例

(1)Pytest中的Mark介绍

Mark主要用于在测试用例/测试类中给用例打标记,实现测试分组功能,并能和其它插件配合设置测试方法执行顺序等。

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

如下图,现在需要只执行红色部分的测试方法,其它方法不执行。

在这里插入图片描述

(2)Mark的使用

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

步骤:

  1. @pytest.mark.标签名标记在需要执行的用力上。(标签名自定义)
  2. 执行测试:pytest 测试套件名 -m 标签名
  3. 这样执行会有警告,提示标签未注册。

示例:

# 如:在test_01.py文件的testa()方法上进行mark标识。
@pytest.mark.hellotest
def test_a():
    """购物下单"""
    print("test_01文件的函数a")
    assert True
    
# 其他两个文件中的方法同理。

执行命令

if __name__ == '__main__':
    pytest.main([
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pytest 中,可以使用 `pytest.mark.skip` 装饰器来跳过某个测试用例。你可以在测试用例函数上添加这个装饰器,当测试用例的某个条件不满足时,pytest 将会跳过这个测试用例,继续执行其他的测试用例。 例如,假设我们有一个测试用例函数 `test_divide_by_zero`,用于测试除以 0 的情况,如果除数为 0,则这个测试用例会抛出 `ZeroDivisionError` 异常。我们可以使用 `pytest.mark.skip` 装饰器来跳过这个测试用例: ```python import pytest def test_divide_by_zero(): with pytest.raises(ZeroDivisionError): 1 / 0 @pytest.mark.skip(reason="除数为 0,暂不支持") def test_divide_by_zero_skip(): with pytest.raises(ZeroDivisionError): 1 / 0 ``` 在这个例子中,我们使用 `pytest.mark.skip` 装饰器来跳过 `test_divide_by_zero_skip` 这个测试用例,同时在装饰器中添加了一个原因,以便更好地说明为什么要跳过这个测试用例。 当我们运行 pytest 时,pytest 将会跳过被 `pytest.mark.skip` 装饰的测试用例,同时输出跳过的原因: ``` $ pytest ============================= test session starts ============================= platform linux -- Python 3.x.y, pytest-6.x.y, py-1.x.y, pluggy-1.x.y rootdir: /path/to/test/directory collected 2 items test_example.py .s [100%] ============================== 1 passed, 1 skipped ============================== ``` 在这个例子中,我们看到 pytest 跳过了 `test_divide_by_zero_skip` 这个测试用例,并且输出了跳过的原因。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值