Подтвердить что ты не робот

Как показать предупреждения в py.test

Я просто запустил py.test в свой код и получил следующий вывод:

================== 6 passed, 2 pytest-warnings in 40.79 seconds =======================

Однако я не вижу, о чем py.test хотел бы предупредить меня. Как включить вывод предупреждений на консоль?

py.test --help предлагает мне флаг --strict:

- строгий запуск pytest в строгом режиме, предупреждения становятся ошибки.

Однако я просто хочу увидеть результат, а не выполнить тесты.

Я проверил pytest.org и этот вопрос, но они касаются только с утверждением предупреждений в python, не отображая предупреждений, сгенерированных в командной строке.

4b9b3361

Ответ 1

В этом случае предупреждения pytest - это предупреждения, которые были созданы для pytest и/или плагинов. Эти предупреждения не были созданы для вашего кода. Чтобы перечислить их в отчете, вам нужно использовать опцию -r w. Вот часть py.test --help:

-r chars              show extra test summary info as specified by chars (f)ailed,
                      (E)error, (s)skipped, (x)failed, (X)passed
                      (w)pytest-warnings (a)all.

Это позволит отображать предупреждения в отчете (верхняя часть записи) будет перечислять, какие плагины pytest используют устаревшие аргументы (в моем случае ниже):

...
================================ pytest-warning summary ================================ 
WI1 /Projects/.tox/py27/lib/python2.7/site-packages/pytest_timeout.py:68 'pytest_runtest_protocol' hook uses deprecated __multicall__ argument
WI1 /Projects/.tox/py27/lib/python2.7/site-packages/pytest_capturelog.py:171 'pytest_runtest_makereport' hook uses deprecated __multicall__ argument
...