如何在运行单元测试时摆脱第三方库警告?

我使用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

避免来自第三方库的警告(而不是我自己的项目代码警告)的最佳方法是什么?


浮云间
浏览 95回答 1
1回答

四季花海

有多种方法可以禁止显示警告:使用命令行参数要完全隐藏警告,请使用pytest . -W ignore::DeprecationWarning此命令将隐藏,但将显示消息warnings summary1 passed, 1 warningpytest . --disable-warnings使用以下内容创建pytest.ini[pytest]filterwarnings =    ignore::DeprecationWarning您还可以使用正则表达式模式:ignore:.*U.*mode is deprecated:DeprecationWarning从文档中:这将忽略弃用警告类型的所有警告,其中消息的开头与正则表达式 匹配。.*U.*mode is deprecated用标记您的函数test_@pytest.mark.filterwarnings("ignore::DeprecationWarning")使用环境变量PYTHONWARNINGSPYTHONWARNINGS="ignore::DeprecationWarning" pytest .它具有与命令行 arg 相同的语法。-W更多细节可以在pytest文档中找到
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python