gpt4 book ai didi

python - 测试 send_email 不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:40 26 4
gpt4 key购买 nike

我不明白为什么当我运行测试时它总是失败并出现 AssertionError: 0 != 1 即使 r 的结果是 1。

class UserProfileTaskTest(TestCase):

def test_send_email(self):
subject = 'subject'
body = 'body'
from_email = 'from_email@test.com'
recipient_list = ['recipient@test.com']

r = send_mail(
subject=subject,
message=body,
from_email=from_email,
recipient_list=recipient_list
)

print(r)

self.assertEqual(len(outbox), 1)

最佳答案

发件箱是特殊类型的属性,无法直接导入,但当您使用电子邮件后端发送电子邮件时,mail.outbox 将作为列表并将电子邮件数据保存到发件箱列表。因此使用下面的例子来测试邮件是否发送。

from django.core import mail
from django.test import TestCase

class UserProfileTaskTest(TestCase):
def test_send_email(self):
subject = 'subject'
body = 'body'
from_email = 'from_email@test.com'
recipient_list = ['recipient@test.com']
mail.send_mail(
subject=subject,
message=body,
from_email=from_email,
recipient_list=recipient_list
)
self.assertEqual(len(mail.outbox), 1)

当你运行上面的代码时,你有初始的mail.outbox = []

但发送电子邮件后,它会将 EmailMessage 实例保存在列表中。

关于python - 测试 send_email 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44505210/

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