pytest ------- 分布式执行测试(pytest-xdist)【十一】

如果测试用例过多,执行完成需要很长时间,为此可以将用例分成多个部分,并行执行测试,这样可以缩短时间
为此需要用到 pytest-xdist分布式 插件
 
步骤一:安装 pip install pytest-xdist
pytest ------- 分布式执行测试(pytest-xdist)【十一】转存失败重新上传取消pytest ------- 分布式执行测试(pytest-xdist)【十一】
 
相当于模拟多cpu并行测试,在运行函数或命令行加个参数-n 后面设置并行的数量即可
 
我了很好的展示分布式效果,在每个用例中都等待了3秒,在运行函数传入了参数 -n 并设置其值为3
pytest ------- 分布式执行测试(pytest-xdist)【十一】转存失败重新上传取消pytest ------- 分布式执行测试(pytest-xdist)【十一】
 
其运行时间为 5.45s ,从日志中可以看到开启了3个cpu
 
正常运行测试的结果如图:相比还是分布式执行测试提高了测试效率
 
pytest ------- 分布式执行测试(pytest-xdist)【十一】转存失败重新上传取消pytest ------- 分布式执行测试(pytest-xdist)【十一】
 
 
pytest-xdist 还提供参数:-looponfail其作用是当你执行完测试之后,他会自动监听你的代码修改,如果你的代码有错误,你修改之后保存,他便会自动再运行一遍测试,如果你运行后的结果没有失败或者错误,你可能需要手动停止测试
 
使用方式:在运行函数或命令行传入参数: - - looponfail即可
 
故意在第二个用例断言失败,在运行函数传入 --looponfail
 
pytest ------- 分布式执行测试(pytest-xdist)【十一】转存失败重新上传取消pytest ------- 分布式执行测试(pytest-xdist)【十一】
 
其运行结果如上图,看到第二个用例执行失败,测试等待修改
将断言修改正确并保存文件,你会发现测试会自动化重新执行
 
需要手动停止,不然会一直等待你修改