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