Skip to content

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 核心数量,并根据可用的核心数来并行运行测试用例,以加快测试执行速度。


总结

  • 插件使用场景
  • 插件使用步骤