pytest 很全能的mark使用

pytest测试函数标记

1.pytest.mark.{自定义标签},自定义一个mark标签

  https://www.cnblogs.com/zhuxibo/p/13921581.html

 

2. 跳过用例:@pytest.mark.skip @pytest.mark.skipif

描述:skip和skipif可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能。要给跳过的测试添加理由和条件,应当使用skipif。

 

3.标记函数参数化(测试用例方法前加测试数据):@pytest.mark.parametrize("a,b,expected", testdata)

 

 

4.xfail-预期失败的函数

xfail(condition, reason)
--condition 预期失败的条件
--reason 预期失败的原因

 5.标记用例执行顺顺序pytest.mark.run(order=1)(需安装pytest-ordering) 

数字数字形式: 小数、整数、负数

执行顺序:

1、由小到大

2、由正到负

3、未标记 的在正数后,负数前执行

顺序: 1,2,3,无标记,-3,-2,-1

  

 

 6.标记超时时间 @pytest.mark.timeout(60)或命令$pytest --timeout=300 (需安装pytest-timeout)

 

7. 标记失败重跑次数@pytest.mark.flaky(reruns=5, reruns_delay=1)或命令$pytest --reruns 5 --reruns-delay 1 (需安装pytest-rerunfailures)

备注:最多失败重跑5次 & 如果失败则延迟1秒后重跑(可以不传)

 

 

 相对于:测试失败后,还会再跑5次

 

原文地址:https://www.cnblogs.com/zhuxibo/p/14863835.html