pytest可以忽略特定的警告吗?

can pytest ignore a specific warning?(pytest可以忽略特定的警告吗?)

本文介绍了pytest可以忽略特定的警告吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望pytest忽略RemovedInDjango20Warning。

我目前在pytest.ini中有这个

[pytest]
filterwarnings =
    ignore:RemovedInDjango20Warning

这允许pytest运行,但不会取消警告。

如果我添加第二个冒号,我会收到许多"内部错误"消息。

如果我添加第三个冒号,测试将运行,但不会取消警告。

我恐怕要加第四个冒号:)

~

我还尝试更具体地说明该错误:

ignore:django.RemovedInDjango20Warning

ignore:django.utils.deprecation.RemovedInDjango20Warning

在运行期间,我每次都会收到警告。

我得到的INTERNALERRORS是:

INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/home/chris/.pyenv/versions/3.6.10/lib/python3.6/warnings.py", line 246, in _getcategory
INTERNALERROR>     cat = getattr(m, klass)
INTERNALERROR> AttributeError: module 'django' has no attribute 'RemovedInDjango20Warning'
INTERNALERROR> 
INTERNALERROR> During handling of the above exception, another exception occurred:
INTERNALERROR> 
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/home/chris/.virtualenvs/website-36/lib/python3.6/site-packages/_pytest/main.py", line 196, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0

[long traceback snipped]

INTERNALERROR>     raise _OptionError("unknown warning category: %r" % (category,))
INTERNALERROR> warnings._OptionError: unknown warning category: 'django.RemovedInDjango20Warning'

推荐答案

根据@LaurentBristiel的评论再次查看时,我意识到我需要两个冒号,外加异常的完整路径,因此

[pytest]
filterwarnings =
    ignore::django.utils.deprecation.RemovedInDjango20Warning

谢谢大家!

这篇关于pytest可以忽略特定的警告吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:pytest可以忽略特定的警告吗?

基础教程推荐