我測試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