我不明白为什么当我运行测试时,AssertionError总是失败:0!= 1 即使r的结果是1。
apriori
答案 0 :(得分:0)
发件箱是特殊类型属性,无法直接导入,但是当您使用电子邮件后端发送电子邮件时,mail.outbox将作为列表工作并将电子邮件数据保存到发件箱列表。因此,请使用以下示例来发送或不发送testmail。
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
个实例。