我测试Django视图返回Http404
异常,使用assertRaises(Http404)
并且测试传递的很好。问题是,我测试的控制台输出看起来是这样的:在Django测试控制台输出中避免异常回溯
Creating test database for alias 'default'...
Traceback (most recent call last):
File "/home/dan/project/django/project/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 147, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/dan/project/django/project/local/lib/python2.7/site-packages/django/contrib/auth/decorators.py", line 23, in _wrapped_view
return view_func(request, *args, **kwargs)
File "/home/dan/project/django/project/local/lib/python2.7/site-packages/django/views/generic/base.py", line 68, in view
return self.dispatch(request, *args, **kwargs)
File "/home/dan/project/django/project/local/lib/python2.7/site-packages/django/views/generic/base.py", line 88, in dispatch
return handler(request, *args, **kwargs)
File "/home/dan/project/django/project/local/lib/python2.7/site-packages/django/views/generic/detail.py", line 117, in get
self.object = self.get_object()
File "/home/dan/project/django/project/local/lib/python2.7/site-packages/django/views/generic/detail.py", line 56, in get_object
{'verbose_name': queryset.model._meta.verbose_name})
Http404: No contact found matching the query
什么,为了避免这个例外,回溯出现在我的控制台输出的好办法?
违规代码:
def test_authorization(self):
user = UserFactory(name='some other user', email='[email protected]')
self.client.force_login(user)
response = self.client.get(reverse('portal-detail-contact', args=(self.contact.id,)))
self.assertRaises(Http404)
如果你真的想抑制控制台输出可能是很方便的看到测试自己的代码。追溯是一回事,导致它的代码是另一回事。 :) – Maarten
此问题已被错误地标记为重复。这个问题是关于在测试通过时抑制控制台输出中的错误。链接的问题是关于异常处理程序未正确配置时的意外测试结果。 – Nexus