pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846
使用场景
某功能不稳定,重复执行多次,以便复现问题
插件安装
安装:pip install pytest-repeat
使用方式一:命令行参数
参数:
--count:重复运行次数,必填
--repeat-scope:默认function,还可以是class、module、session,表示重复运行的维度,比如session,表示所有用例执行完一次,然后再执行第二次;选填
命令:
pytest --count=count --repeat-scope=function
或者:pytest --count count --repeat-scope function
参数也可以放配置文件中:
[pytest] addopts = -vs --count 3 --repeat-scope function
示例:
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : 韧 # @wx :ren168632201 # @Blog :https://www.cnblogs.com/uncleyong/ # def test_d(): # print("---test_d") # # def test_c(): # print("---test_c") def test_b(): print("---test_b") def test_a(): print("---test_a")
--repeat-scope=function
运行结果:
结果:和上面一样,说明默认是function
--repeat-scope=module
运行结果:
--repeat-scope=class
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : 韧 # @wx :ren168632201 # @Blog :https://www.cnblogs.com/uncleyong/ # def test_d(): # print("---test_d") # # def test_c(): # print("---test_c") class Test1: def test_b(self): print("---test_b") def test_d(self): print("---test_d") class Test2: def test_a(self): print("---test_a") def test_c(self): print("---test_c")
运行结果:
--repeat-scope=session
运行结果:
使用方式二:修饰器
@pytest.mark.repeat(count)
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : 韧 # @wx :ren168632201 # @Blog :https://www.cnblogs.com/uncleyong/ import pytest @pytest.mark.repeat(3) def test_a(): print("---test_a") def test_b(): print("---test_b")
运行结果:
标签:插件,repeat,--,---,print,pytest,test From: https://www.cnblogs.com/uncleyong/p/18025590