Python 忽略 Django 测试中的异常警告
Python warnings to exceptions in Django tests with ignore
我正在尝试 运行 Django 单元测试使用:
python -We -W ignore:DeprecationWarning -W ignore:UserWarning manage.py test
但是,这并没有成功地忽略这些警告 类,而是只考虑 -We
标志,将所有警告都提升为异常。这不是我想要的行为。
如何 运行 Django 测试,以便在测试中遇到除 DeprecationWarning 和 UserWarning 之外的所有警告都作为异常引发?
用例:我正在处理的项目发现由于测试中的天真日期时间而引发了很多 RuntimeWarnings。我想修复此问题,但为此,我必须找到有问题的测试。
过滤器的第二个参数是消息,而不是模块,因此您的排除项应该是:
python -We -W ignore::DeprecationWarning -W ignore::UserWarning manage.py test
注意额外的冒号并查看示例:https://docs.python.org/3/library/warnings.html#default-warning-filter
你也可以走另一条路,只在 RuntimeWarning
上出错
python -W error::RuntimeWarning manage.py test
为了解决您所询问的更普遍的问题,但是打印每个警告的回溯可能会更快。看到这个 post:
我正在尝试 运行 Django 单元测试使用:
python -We -W ignore:DeprecationWarning -W ignore:UserWarning manage.py test
但是,这并没有成功地忽略这些警告 类,而是只考虑 -We
标志,将所有警告都提升为异常。这不是我想要的行为。
如何 运行 Django 测试,以便在测试中遇到除 DeprecationWarning 和 UserWarning 之外的所有警告都作为异常引发?
用例:我正在处理的项目发现由于测试中的天真日期时间而引发了很多 RuntimeWarnings。我想修复此问题,但为此,我必须找到有问题的测试。
过滤器的第二个参数是消息,而不是模块,因此您的排除项应该是:
python -We -W ignore::DeprecationWarning -W ignore::UserWarning manage.py test
注意额外的冒号并查看示例:https://docs.python.org/3/library/warnings.html#default-warning-filter
你也可以走另一条路,只在 RuntimeWarning
python -W error::RuntimeWarning manage.py test
为了解决您所询问的更普遍的问题,但是打印每个警告的回溯可能会更快。看到这个 post: