13. Pytest常用插件:pytest-repeat重复运行用例
一、前言
上面我们介绍了当用例失败时的重复运行,其实我们在实际工作中还会遇到一种情况,我们就是单纯的想让某条用例重复运行指定的次数。
平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。
二、学习目标
1.pytest-repeat
安装
2.pytest-repeat
应用
三、知识点
1.pytest-repeat
安装
插件安装:
pip install pytest-repeat
2.pytest-repeat
应用
使用方式有两种:
-
命令行参数
-
语法:
pytest --count=3 --repeat-scope=class test_demo.py #3是重复运行的次数 #–repeat-scope的参数有 choices=('function', 'class', 'module', 'session') 默认为function;控制用例重复执行时机
-
代码示例:
class TestCase(): def test_01(self): print("---用例1执行---")
-
运行效果:
test_demo.py ---用例1执行--- .---用例1执行--- .---用例1执行--- .---用例2执行--- .---用例2执行--- .---用例2执行--- ==================================== 6 passed in 0.02s ==================================
以类为单位重复运行了三次。
-
-
装饰器方式
-
语法:
@pytest.mark.repeat(num) #num运行次数
-
代码示例:
import pytest def test_01(): print("---用例1执行---") class TestCase(): @pytest.mark.repeat(3) def test_02(self): print("---用例2执行---")
-
运行效果:
test_demo.py::test_01 PASSED [ 25%]---用例1执行--- test_demo.py::TestCase::test_02[1-3] PASSED [ 50%]---用例2执行--- test_demo.py::TestCase::test_02[2-3] PASSED [ 75%]---用例2执行--- test_demo.py::TestCase::test_02[3-3] PASSED [100%]---用例2执行--- ============================== 4 passed in 0.03s ==============================
第二个测试用例重复运行了3次。
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?