gpt4 book ai didi

django - 测试 Django 电子邮件后端

转载 作者:行者123 更新时间:2023-11-28 19:42:41 25 4
gpt4 key购买 nike

在我的 settings.py 中,我输入:

EMAIL_BACKEND = 'mailer.backend.DbBackend'

所以即使从 from django.core.mail import send_mail 导入, send_mail函数仍然在数据库中对电子邮件进行排队,而不是立即发送。

实际运行网站时还可以,但在测试网站时,访问一些触发邮件的网页,邮件不再排队了:

def test_something(self):
...
# Check no emails are actually sent yet
self.assertEquals(len(mail.outbox), 0) # test fails here -- 2 != 0

# Check queued emails.
messages = Message.objects.all()
self.assertEquals(messages.count(), 2) # test would also fail here -- 0 != 2
...

怎么测试的时候好像没有用后台呢? (从 send_mail 导入 mailer 本身可以通过测试,但我无法真正更改其他邮件应用程序的导入,例如 django-templated-email )

最佳答案

根据这个question当测试到 'django.core.mail.backends.locmem.EmailBackend' 时,django 会覆盖 setting.EMAIL_BACKEND。它也在 django 文档中 here .

关于django - 测试 Django 电子邮件后端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16186866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com