如何在 py.test 中显示警告
How to show warnings in py.test
我只是 运行 py.test
我的代码得到了以下输出:
================== 6 passed, 2 pytest-warnings in 40.79 seconds =======================
但是,我看不出 py.test
想要警告我什么。如何打开控制台的警告输出?
py.test --help
为我提供 --strict
标志:
--strict run pytest in strict mode, warnings become
errors.
但是我只想查看输出,而不是让我的测试失败。
我检查了 pytest.org and this question 但他们只关心 python 中的断言警告,而不是显示在命令行上生成的警告。
在这种情况下,pytest-warnings 是为 pytest and/or 它的插件生成的警告。这些警告不是为您的代码生成的。为了在报告中列出它们,您需要使用选项 -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
...
我只是 运行 py.test
我的代码得到了以下输出:
================== 6 passed, 2 pytest-warnings in 40.79 seconds =======================
但是,我看不出 py.test
想要警告我什么。如何打开控制台的警告输出?
py.test --help
为我提供 --strict
标志:
--strict run pytest in strict mode, warnings become errors.
但是我只想查看输出,而不是让我的测试失败。
我检查了 pytest.org and this question 但他们只关心 python 中的断言警告,而不是显示在命令行上生成的警告。
在这种情况下,pytest-warnings 是为 pytest and/or 它的插件生成的警告。这些警告不是为您的代码生成的。为了在报告中列出它们,您需要使用选项 -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
...