【发布时间】:2012-11-10 03:20:57
【问题描述】:
我在 Django 1.4 中有一个简单的函数可以发送邮件。这被放在一个 try/except 中,以防邮件服务可能关闭(这是一个外部依赖项)。
现在,我想测试这个异常。我认为这很简单,通过覆盖一些电子邮件设置(如 settings.EMAIL_HOST 或 settings.EMAIL_BACKEND),但即使后端配置了乱码,Django 测试框架也不会导致 send_mail() 抛出错误......
所以问题是:如何让 send_mail() 在我的测试用例中抛出错误?
谢谢!
答案:
import mock
class MyTestCase(TestCase):
@mock.patch('path.to.your.project.views.send_mail', mock.Mock(side_effect=Exception('Boom!')))
def test_changed_send_mail(self):
【问题讨论】: