pytest-mark标签装饰器
功能:1:pytest执行用例时,可以执行带有自定义标记的用例
- 使用方法:
- 在用例函数前面加上一个装饰器@pytest.mark.mark_name,其中,mark_name为标记名称,如 @pytest.mark.mn1
- 在Terminal里输入命令pytest -s test_study.py -m=mn1,或在main语句块里直接输入pytest.main(["-s","test_study.py", "-m=mn1"]),这样,我们就可以只执行标记为mn1的用例。
例:
1 @pytest.mark.mn1 2 def test_csse3(self): 3 print("这是 用例1") 4 5 @pytest.mark.mn2 6 def test_csse2(self): 7 print("这是 用例2") 8 9 def test_csse1(self): 10 print("这是 用例3") 11 12 if __name__ == '__main__': 13 pytest.main(["-s", "test_study.py", "-m=mn1"])
-m 选择对应的标签
""" 一个: "-m","m1" 同时运行多个: "-m","m1 or m2" 排除法: "-m","not_m1" 排除法: "-m","not(m1 or m2)"
功能2:控制用例执行顺序
- 安装pytest-ordering:pip install pytest-ordering
用法:在用例前面加上@pytest.mark.run(order=n),即可实现按先后顺序执行,n为执行顺序。数字越大优先级越高
方法还可以跨文件执行,只要当前目录下的所有.py的用例,标明了执行顺序,就可以按标明的顺序执行,不论在哪个文件里。
执行结果:
- 这是 用例3
- 这是 用例2
- 这是 用例1