如何在py.test中显示警告

时间:2015-10-27 08:53:27

标签: python django testing pytest pytest-django

我刚刚在代码上运行了py.test并获得了以下输出:

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

但是,我看不出py.test想要警告我的内容。如何打开警告输出到控制台?

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

  

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

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

我检查了pytest.orgthis question,但他们只关心在python中声明警告,而不是在命令行上显示警告。

1 个答案:

答案 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
...