在django测试中覆盖设置

时间:2018-05-10 10:20:35

标签: django unit-testing django-testing django-tests

我试着:

 @override_settings(EMAIL_HOST_PASSWORD='sdsds')
 def  test_email_not sent(self):
   ....

我想制下Django SMTP设置并进行测试,但设置没有被覆盖。

1 个答案:

答案 0 :(得分:0)

默认情况下,Django在测试时使用本地内存后端来处理电子邮件。有关详细信息,请参阅the docs

如果要使用smtp后端,可以覆盖设置。

@override_settings(EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend', EMAIL_HOST_PASSWORD='sdsds')
 def  test_email_not sent(self):
     ...