我刚刚在代码上运行了py.test
并获得了以下输出:
================== 6 passed, 2 pytest-warnings in 40.79 seconds =======================
但是,我看不出py.test
想要警告我的内容。如何打开警告输出到控制台?
py.test --help
向我提供了--strict
标志:
- 在严格模式下严格运行pytest,警告变为 错误。
但是我只是想看看输出,而不是让我的测试失败。
我检查了pytest.org和this question,但他们只关心在python中声明警告,而不是在命令行上显示警告。
答案 0 :(得分:24)
在这种情况下,pytest-warnings是为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
...