gpt4 book ai didi

django - 如何使用 django 测试系统测试 EmailMultiAlternatives 对象中的替代正文内容?

转载 作者:行者123 更新时间:2023-12-04 04:31:46 25 4
gpt4 key购买 nike

我在我的 View 中有带有文本和 html 内容的 EmailMultiAlternatives 对象:

email = EmailMultiAlternatives(subject=subject, body=message, from_email=sender, to=recipient)
email.attach_alternative(messageHTML, 'text/html')

当我测试消息正文属性的内容包含文本版本时,我不知道如何断言 html 内容:
self.assertHTMLEqual(mail.outbox[0].body, message) # This test passes
self.assertHTMLEqual(mail.outbox[0].<???>, messageHTML) # But here I don't know what to do

最佳答案

当你写 - mail.outbox[0] , 返回给您的电子邮件对象是 EmailMultiAlternatives 的实例类(class)。它有一个名为 alternatives 的属性这是替代内容的列表。

由于您只附加了 1 个替代内容,因此您可以像这样获取它:

mail.outbox[0].alternatives[0]

# above will return the following tuple:

('<html>...</html>', 'text/html')

# \______________/ \_______/
# | |
# HTML content mimetype

要测试消息,您可以执行以下操作:
self.assertHTMLEqual(mail.outbox[0].alternatives[0][0], messageHTML)

关于django - 如何使用 django 测试系统测试 EmailMultiAlternatives 对象中的替代正文内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49328597/

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