我使用PyScaffold设置了我的项目,在使用pytest运行单元测试时,我收到以下第三方警告,我想摆脱但不知道如何:==================================== warnings summary ====================================c:\dev\pyrepo\lib\site-packages\patsy\constraint.py:13 c:\dev\pyrepo\lib\site-packages\patsy\constraint.py:13: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working from collections import Mapping-- Docs: https://docs.pytest.org/en/latest/warnings.html避免来自第三方库的警告(而不是我自己的项目代码警告)的最佳方法是什么?
1 回答

四季花海
TA贡献1811条经验 获得超5个赞
有多种方法可以禁止显示警告:
使用命令行参数
要完全隐藏警告,请使用
pytest . -W ignore::DeprecationWarning
此命令将隐藏,但将显示消息warnings summary1 passed, 1 warning
pytest . --disable-warnings
使用以下内容创建pytest.ini
[pytest]
filterwarnings =
ignore::DeprecationWarning
您还可以使用正则表达式模式:
ignore:.*U.*mode is deprecated:DeprecationWarning
从文档中:
这将忽略弃用警告类型的所有警告,其中消息的开头与正则表达式 匹配。.*U.*mode is deprecated
用标记您的函数test_@pytest.mark.filterwarnings("ignore::DeprecationWarning")
使用环境变量PYTHONWARNINGS
PYTHONWARNINGS="ignore::DeprecationWarning" pytest .
它具有与命令行 arg 相同的语法。-W
更多细节可以在pytest文档中找到
添加回答
举报
0/150
提交
取消