我想将RemovedInNextVersionWarning
警告转换为错误,如https://docs.pytest.org/en/latest/warnings.html 中所述
不幸的是,当我将以下几行添加到 pytest.ini 时:
filterwarnings =
error::RemovedInDjango20Warning
我最终得到(它正在严格寻找 Python 内部警告):
INTERNALERROR> File "/myfolder/python3.6/warnings.py", line 236, in _getcategory
INTERNALERROR> raise _OptionError("unknown warning category: %r" % (category,))
INTERNALERROR> warnings._OptionError: unknown warning category: 'RemovedInDjango20Warning'
pytest-django 作为插件应该/可以让 pytest 知道更多可能的警告来处理吗?
额外的问题(稍微超出范围):更好的是可以过滤掉来自编写代码的 DjangoWarnings 到来自其他库的警告:-)
使用全名:
filterwarnings =
error::django.utils.deprecation.RemovedInDjango20Warning
更好的是可以过滤掉来自编写代码的 DjangoWarnings 到来自其他库的警告
我猜是 pytest 的更多功能?!
它可以使用日志过滤器来实现,您可以在其中查找record.getMessage()
以您的路径开头。
甜蜜的@blueyed !!!
谢谢你的提示!
我最终放弃了几个问题,使用这个:
filterwarnings =
error::django.utils.deprecation.RemovedInNextVersionWarning
ignore::django.utils.deprecation.RemovedInNextVersionWarning:ajax_select.*
可惜文档中没有提到它。 我愿意就此提交一个小的 PR。 它应该在哪里? 在configuration_django也许?
文档的 PR 确实会很好。
不过我真的不了解他们,所以把它放在你期望的地方..;)
最有用的评论
使用全名:
我猜是 pytest 的更多功能?!
它可以使用日志过滤器来实现,您可以在其中查找
record.getMessage()
以您的路径开头。