这是我的INSTALLED_APPS
列表中的两个应用程序,这给了我一个问题。
- django.contrib.messages
- sentry.client
一个单元测试是做一个assertRaises
期望一个django.contrib.messages.api.MessageFailure
。
sentry.client
安装一个监听get -request-exception的信号处理程序。在测试执行期间,信号处理程序试图将异常记录到哨兵&这是哨兵的原因。客户端失败的HTTP Error 400: BAD REQUEST
。哨兵代码说,如果异常类型拥有属性' ',它将避免记录日志。
我可以在哪里monkeypatch django.contrib.messages.api.MessageFailure
像这样:
MessageFailure.skip_sentry = True
我以前没有使用sentry,但是要将skip_entry
属性添加到MessageFailure
类中,您可以使用mix-in。在Django服务器启动时保证运行的模块中添加以下代码[any models.py
should work]:
from django.contrib.messages.api import MessageFailure
class MessageFailureMixin:
skip_sentry = True
MessageFailure.__bases__ += (MessageFailureMixin,)