0
我試圖單元測試Django應用程序,並在這個過程中使用Mock如下嘲諷數據庫調用(其中記錄是一個Django模型):嘲諷Django的數據庫調用
Record.objects.get = Mock()
Record.objects.get.side_effect = Exception("Record.DoesNotExist") # Exception as a string
,我捕捉異常如下:
except Record.DoesNotExist:
return HttpResponseRedirect("http://www.somesite.com")
然後我得到的運行測試以下錯誤:
Exception: Record.DoesNotExist
如果不是我嘲笑例外如下:
Record.objects.get.side_effect = Exception(Record.DoesNotExist) # Exception as a class
接着,我會在運行測試以下錯誤:
Exception: <class 'supersales.plugin.models.DoesNotExist'>
有人能解釋爲什麼不能將其捕獲的異常,即使有一個try-except塊。
是的,我想通了這一點一段時間後。這應該是顯而易見的,我是一個Python新手。儘管如此,非常感謝您的答覆。 – Rohit 2011-04-15 04:23:15