Python 如何在py.test中显示警告

Python 如何在py.test中显示警告,python,django,testing,pytest,pytest-django,Python,Django,Testing,Pytest,Pytest Django,我刚刚运行了我的代码,得到了以下输出: ================== 6 passed, 2 pytest-warnings in 40.79 seconds ======================= 但是,我看不到py.test想要警告我什么。如何打开控制台的警告输出 py.test--help为我提供了--strict标志: --在严格模式下严格运行pytest,警告变为 错误 然而,我只想看到输出,而不是让我的测试失败 我检查了,但他们只关心用python断言警告,而不显示

我刚刚运行了我的代码,得到了以下输出:

================== 6 passed, 2 pytest-warnings in 40.79 seconds =======================
但是,我看不到py.test想要警告我什么。如何打开控制台的警告输出

py.test--help
为我提供了
--strict
标志:

--在严格模式下严格运行pytest,警告变为 错误

然而,我只想看到输出,而不是让我的测试失败


我检查了,但他们只关心用python断言警告,而不显示命令行上生成的警告。

在本例中,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插件使用了不推荐的参数(在下面的示例中):


事实上,这不是真的,这些总是警告,不是为代码生成的。我有一个例子,我在我的测试类中添加了一个
\uuu init\uuu
构造函数,这导致
py.test
无法使用测试。即使使用了
--strict
,也没有向我显示警告,但您的回答帮助我使
py.test
显示警告,其原因仍在我自己的代码中。
...
================================ 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
...