执行pytest tests命令时控制台冻结问题求助
解决pytest执行
pytest tests时控制台冻结的问题 排查与解决步骤
- 缩小测试范围定位问题
不要直接运行整个tests目录,先单独执行单个测试文件:pytest tests/test_example.py,再逐步缩小到单个测试函数:pytest tests/test_example.py::test_target_func,确认是否是某一个测试用例引发的冻结。 - 禁用第三方插件排查冲突
执行pytest tests -p no:all禁用所有第三方插件,若恢复正常,再逐个启用插件排查,找到引发问题的插件。 - 检查测试代码中的阻塞逻辑
查看测试用例里是否存在死循环、等待用户输入(如input())、未设置超时的网络请求/文件锁等长时间阻塞的代码。 - 调整pytest输出与调试参数
尝试添加--tb=short简化回溯信息、--no-header关闭头部输出,排查是否是输出逻辑导致阻塞;也可以用pytest tests -x,遇到第一个失败就停止,快速定位问题点。 - 检查环境依赖与版本
用pip list查看pytest及相关依赖版本,尝试更新到最新稳定版:pip install --upgrade pytest,或创建全新虚拟环境重新安装依赖后测试。
推荐的pytest.ini配置
若排查后无异常,可使用简洁且保留必要设置的配置:
[pytest] pythonpath = . testpaths = tests filterwarnings = ignore::DeprecationWarning addopts = --verbose --tb=short
内容的提问来源于stack exchange,提问作者nikolo520
相关产品推荐
相关产品推荐

