繁体   English   中英

使用生菜,如何验证从Django Web应用程序发送的电子邮件内容正确?

[英]Using lettuce, how can I verify that an email sent from a Django web application has the correct contents?

我有一个基于Django的Web应用程序,该应用程序需要向用户发送确认电子邮件以尝试更改注册的电子邮件地址。 该功能已实现,但用于验证电子邮件内容的生菜测试失败。

为了验证操作,我的计划是使用文件后端(EMAIL_BACKEND ='django.core.mail.backends.filebased.EmailBackend'),然后在生菜步骤中验证文件的内容。

当“正常”运行(例如通过manage.py runserver)时,将按预期方式创建电子邮件文件。 通过生菜运行时(manage.py收获),该网站似乎正在被正确驱动(我正在使用Selenium来驱动它),但是没有生成电子邮件文件。

我错过了什么? 是否需要使用某些设置(例如,terrain.py文件中的设置),以便在测试过程中也使用文件后端?

您可以按照django docs https://docs.djangoproject.com/en/dev/topics/testing/#email-services中所述使用django.core.mail.outbox

from django.core import mail

assert len(mail.outbox) == 1
assert mail.outbox[0].subject == 'Subject here'

Lettuse使用django.test.utils.setup_test_environment ,它将电子邮件后端覆盖到本地电子邮件后端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM