如何配置pytest-sugar参数以在汇总中列出错误测试用例?
解决pytest结合xdist、sugar时让error用例在汇总中与failed并列显示的问题
我懂你的痛点——用pytest+xdist+sugar跑测试时,默认汇总里error类型的用例总是没像failed那样清晰列出来,试了-r参数也没效果对吧?这大概率是pytest-sugar的美化输出覆盖了原生pytest的汇总逻辑,咱们一步步解决:
首先先修正下你的测试命令(你把运行结果混到命令里啦),正确的命令应该是:
pytest -n 3 -v --tb=short -p no:warnings scripts/testcase.py::TestName scripts/testcase.py::TestAddress scripts/testcase.py::TestPhone
运行后会得到类似7 passed, 3 failed, 2 error, 1 skipped的结果。
方法一:临时禁用pytest-sugar,用原生pytest的-r参数
pytest-sugar的美化输出会接管原生的汇总格式,所以先临时关掉它,就能让-r参数正常生效:
pytest -n 3 -v --tb=short -p no:warnings -p no:sugar -r fE scripts/testcase.py::TestName scripts/testcase.py::TestAddress scripts/testcase.py::TestPhone
这里-r fE的意思是:指定汇总显示(r)failed(f)和error(E)类型的测试用例详情。如果想显示所有类型的用例,也可以换成-r a。
方法二:保留pytest-sugar,配置让它显示error汇总
如果你不想放弃sugar的美化效果,可以通过配置文件让它支持error用例的汇总显示:
- 在项目根目录创建/修改
pytest.ini文件:
[pytest] addopts = -n 3 -v --tb=short -p no:warnings -r fE sugar_show_errors = true
- 直接运行你的测试命令即可,sugar会在最终汇总里把error和failed用例一起列出来。
如果配置后没生效,建议升级下插件版本,确保兼容性:
pip install --upgrade pytest pytest-xdist pytest-sugar
内容的提问来源于stack exchange,提问作者jacobcan118
相关产品推荐
相关产品推荐

