pytest控制用例执行顺序

本文介绍了如何使用pytest-ordering插件来控制pytest测试用例的执行顺序。通过添加特定装饰器,如`@pytest.mark.run(order=x)`,可以设置用例的执行优先级。当需要将用例置于首位或末位,可以使用`@pytest.mark.first`或`@pytest.mark.last`。若遇到加了`@pytest.mark.last`后执行报错,可在pytest.ini配置文件中添加`--disable-warnings`或`-pno:warnings`参数来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pytest控制用例执行顺序

pytest正常情况下的用例方法执行顺序是从上到下,可以通过pytest-ordering插件来控制用例方法的执行顺序

# 安装pytest-oredering(窝定)插件
pip install pytest-ordering

pytest-ordering的使用方法

# 在测试方法上加装饰器即可
@pytest.mark.run(order=x)  # x是整数(可以是正数也可以是负数)
# 全为正数或负数时,值越小,优先级越高
# 既有正数又有负数时,正数优先级高(-1,2,-3的执行顺序是2,-3,-1)

快速把用例方法放在第一个执行

# 第一个执行
@pytest.mark.tryfirst # 未验证
@pytest.mark.first
@pytest.mark.run('first')
# 0是正整数中最小的,优先级最高
@pytest.mark.run(order=0)
# 两个0是,就按照正常顺序执行

快速把用例方法放在最后执行

# 最后一个执行
@pytest.mark.trylast # 未验证
@pytest.mark.last
@pytest.mark.run('last')
@pytest.mark.run(order=-1)

第二个执行

# 第二个执行
@pytest.mark.second
@pytest.mark.run('second')
@pytest.mark.run(order=1)

倒数第二个执行

# 倒数第二个执行
@pytest.mark.second_to_last
@pytest.mark.run('second_to_last')
@pytest.mark.run(order=-2)

加了@pytest.mark.last之后执行用例可能会报错.

解决放法1:

pytest.ini配置文件中的addopts中添加 --disable-warnings参数

在这里插入图片描述

解决方法2:

pytest.ini配置文件中的addopts中添加‘-p no:warnings’参数

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值