pytest常用装饰器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pytest常用装饰器相关的知识,希望对你有一定的参考价值。
参考技术A 一、parametrize--参数化
pytest中装饰器@pytest.mark.parametrize(\'参数名\',list)可以实现测试用例参数化。
1、第一个参数是字符串,多个参数中间用逗号隔开
2、第二个参数是list,多组数据是用元组类型,传三个或者更多参数也是这么传,list的每个元素都是一个元组,元组里的每个元素和参数顺序一一对应
3、传一个参数@pytest.mark.parametrize(\'参数名\',list) 进行参数化
4、传两个参数@pytest.mark.parametrize(\'参数名1,参数名2\',[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化
详见: https://cloud.tencent.com/developer/article/1527541
二、order--执行顺序
1、控制用例执行顺序的方法
2、在需要调整用例执行顺序的函数(或方法)前增加,如@pytest.mark.run(order=x),x表示数字
3、执行顺序,由小到大、由正到负、未标记的在正数后、负数前执行
顺序为:1,2,3,无标记,-3,-2,-1
三、fixture--函数做参数
1、可将被fixture标记的函数当作参数使用
2、fixture可放到conftest.py文件下,conftest.py会自动识别哪个用例调用了这个函数
3、fixture可以实现setup和teardown功能
四、rerunfailure--失败重跑
1、失败重跑机制
2、安装pytest-rerunfailure
在设置文件pytest.ini中添加命令
reruns = 重跑次数
addopts= --reruns =10
五、skip--跳过测试
1、pytest.skip(用于函数内,跳过测试用例)
2、@pytest.mark.skip(用于函数外,跳过测试用例)
3、@pytest.mark.skipif(用于函数外,条件condition,跳过原因reason="xxx")
以上是关于pytest常用装饰器的主要内容,如果未能解决你的问题,请参考以下文章