当我们测试用例非常多的时候,一条条执行,很显然会比较慢,那么如何让测试用例并行执行呢,这就是我们接下来要讲的pytest
分布式执行插件pytest-xdist
pytest-xdist
该pytest-xdist
插件扩展了一些独特的测试执行模式pytest:
-
测试运行并行化:如果有多个CPU或主机,则可以将它们用于组合测试运行。会加快运行速度
-
--looponfail
:在子进程中重复运行测试。每次运行之后,pytest会等待,直到项目中的文件发生更改,然后重新运行以前失败的测试。 -
重复此过程直到所有测试通过,之后再次执行完整运行。
-
多平台覆盖:您可以指定不同的Python解释器或不同的平台,并在所有平台上并行运行测试。
-
在远程运行测试之前,pytest有效地将您的程序源代码“rsyncs”到远程位置。报告所有测试结果并显示给您的本地终端。您可以指定不同的Python版本和解释器。
并行测试
多cpu并行执行用例,直接加个-n
参数即可,后面num参数就是并行数量,
比如num设置为3
pytest -n 3
测试报告
使用pytest-xdist插件也能生成html报告
,完美支持pytest-html插件
pytest -n 3 --html=report.html --self-contained-html