Когда я запускаю pytest, я получаю некоторые предупреждения об устаревании из сторонней библиотеки. Я хотел бы получать информацию о любых предупреждениях об устаревании в моем собственном коде, но не в продаваемой копии библиотеки, связанной с другой сторонней библиотекой.
Этот ответ был полезен вотвезти меня туда. Если я запускаю pytest так: $ pytest ./tests/
Я получаю:
$ pytest ./tests/
============================= test session starts ==============================
platform linux -- Python 3.7.4, pytest-5.2.1, py-1.8.0, pluggy-0.13.0
rootdir: /home/whlt/repos/tj-image-resizer/tests, inifile: pytest.ini
collected 5 items
tests/test_file1.py . [ 20%]
tests/test_file2.py .... [100%]
=============================== warnings summary ===============================
/home/whlt/.local/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/_collections.py:1
/home/whlt/.local/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/_collections.py:1
/home/whlt/.local/lib/python3.7/site-packages/botocore/vendored/requests/packages/urllib3/_collections.py:1: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
from collections import Mapping, MutableMapping
-- Docs: https://docs.pytest.org/en/latest/warnings.html
======================== 5 passed, 2 warnings in 2.54s =========================
, но если я запускаю Pytest так: $ pytest ./tests/ -W ignore::DeprecationWarning
Я получаю:
============================= test session starts ==============================
platform linux -- Python 3.7.4, pytest-5.2.1, py-1.8.0, pluggy-0.13.0
rootdir: /home/whlt/repos/tj-image-resizer/tests, inifile: pytest.ini
collected 5 items
tests/test_file1.py . [ 20%]
tests/test_file2.py .... [100%]
============================== 5 passed in 2.61s ===============================
Этот второй вывод показывает мнеэтот фильтр работает, но он также скрывает любые предупреждения об устаревании, которые я хотел бы видеть в результате моего собственного кода.
Часть этой проблемы заключается в том, что я не уверен, какой модуль пытаться ссылаться в игнорируемомфильтр. Я пробовал $ pytest ./tests/ -W ignore::DeprecationWarning:urllib3.*:
и пробовал $ pytest ./tests/ -W ignore::DeprecationWarning:botocore.*:
. Оба эти результата приводят к тому же выводу, что и в первом примере, без фильтрации.
Как отфильтровать DeprecationWarnings из версии urllib3
, поставляемой с продаваемой версией requests
, включенной с botocore
(который вызывается, когда я запускаю команды с библиотекой boto3
)?