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

原文地址:https://www.cnblogs.com/Mollylin/p/14445603.html