Pytest 测试用例并行运行与分布式运行
简介
Pytest 支持测试用例的并行运行和分布式运行,这可以加速测试执行,特别是在大型测试套件中。
使用场景
- 场景 1:
- 测试用例 1000 条,一个用例执行 1 分钟,一个测试人员执行需要 1000 分钟。
- 通常我们会用人力成本换取时间成本,加几个人一起执行,时间就会缩短。
-
如果 10 人一起执行只需要 100 分钟,这就是一种分布式场景。
-
场景 2:
- 假设有个报名系统,对报名总数统计,数据同时进行修改操作的时候有可能出现问题,需要模拟这个场景,需要多用户并发请求数据。
- 解决方案:使用分布式并发执行测试用例。
使用步骤
- 分布式插件:
pytest-xdist
- 安装及运行:
pip install pytest-xdist
注意:用例多的时候效果明显,多进程并发执行,同时支持
allure
。
from time import sleep
def test_foo():
sleep(1)
assert True
def test_bar():
sleep(1)
assert True
def test_bar1():
sleep(1)
assert True
执行 pytest -n auto
启用并行测试,它会自动检测计算机的 CPU 核心数量,并根据可用的核心数来并行运行测试用例,以加快测试执行速度。
总结
- 插件使用场景
- 插件使用步骤