用python插件pytest-repeat重复执行多条或单条测试用例

本文介绍了如何使用pytest-repeat插件来重复执行Python测试用例。首先,通过pip安装pytest-repeat,然后在cmd中指定--count参数执行测试用例,可以设置在出现错误时停止(-x选项)。插件支持以class为单位重复执行用例,并能按顺序重复执行单个用例,只需在用例上添加@pytest.mark.repeat(count)装饰器。

1、在cmd里安装重复执行用例的插件,命令为:pip install pytest-repeat

2、切换到circular.py目录下,再执行重复用例的命令:
pytest --count 100 -x repetition.py(-x表示一旦发生错误立即停止,可删除),重复执行完一条用例后再重复执行下一条`
在这里插入图片描述
在这里插入图片描述
3、–repeat-scope,以class为用例集合单位,重复执行class里面的用例,再执行下一个,执行顺序为执行的顺序是test_01,test_02,test_03,按此顺序重复,如图:

在这里插入图片描述
4、可以在代码中单独执行某个用例,在用例最后加上装饰器即可:@pytest.mark.repeat(count),与def/class齐平,如图:

在这里插入图片描述
5、看一下我自己写的代码,因为是内部网址所以用户名和密码马赛克

在这里插入图片描述

在使用 `pytest` 框架进行测试时,若需要重复执行某一个测试用例 20 次,可以通过多种方式实现。以下是几种常见的实现方法。 ### 使用 `pytest` 的参数化功能结合重复数据 可以利用 `@pytest.mark.parametrize` 对测试用例进行参数化,并通过构造 20 组相同的参数来实现重复执行。这种方式适用于需要固定执行次数的场景。 ```python import pytest @pytest.mark.parametrize('num', [1] * 20) def test_repeat_example(num): assert num == 1 ``` 在该示中,测试用例 `test_repeat_example` 将会执行 20 次,每次传入的参数 `num` 都是 `1`,并验证其值是否为 `1`。这种方法通过构造重复的参数列表来实现重复执行的需求[^5]。 ### 使用 `pytest` 插件实现重复执行 为了更灵活地控制测试用例重复执行次数,可以使用 `pytest` 的第三方插件如 `pytest-repeat`。安装该插件后,可以通过命令行参数指定重复执行的次数。 安装插件: ```bash pip install pytest-repeat ``` 执行测试用例重复运行 20 次: ```bash pytest test_file.py::test_case_name --count=20 ``` 在代码中,只需定义一个普通的测试用例,无需额外修改即可通过命令行指定重复执行次数。这种方式更加简洁,适用于需要动态调整重复次数的场景[^2]。 ### 使用 `for` 循环在测试用例内部实现重复执行 如果希望在测试用例内部直接实现重复执行,可以在函数内部使用 `for` 循环控制执行次数。这种方式适用于需要在测试逻辑中嵌套多次执行的场景。 ```python def test_internal_repeat(): for _ in range(20): assert 1 == 1 ``` 在该示中,测试用例 `test_internal_repeat` 内部通过 `for` 循环执行了 20 次断言操作。这种方式适合需要在单个测试用例中多次执行相同逻辑的场景[^4]。 ### 总结 上述方法均可实现测试用例重复执行需求。其中,使用 `@pytest.mark.parametrize` 进行参数化是最常见的方式之一,而使用 `pytest-repeat` 插件则提供了更高的灵活性。此外,在测试用例内部使用 `for` 循环也是一种简单有效的实现方式。根据具体需求选择合适的方法可以提高测试效率并简化维护成本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值