单元测试以及禁止发送邮件
当在单元测试中,或者在一个开发环境中,能够禁止邮件发送是十分有用的。
如果设置项 TESTING
设置成 True
,emails 将会被禁止发送。调用 send()
发送邮件实际上不会有任何邮件被发送。
另外在测试环境之中的话,你可以设置 MAIL_SUPPRESS_SEND
为 True,这也会有相同的效果。
然而,当单元测试的时候追踪邮件是否发送成功也是十分有用的。
为了能够追踪发送邮件的“轨迹”,可以使用 record_messages
方法:
with mail.record_messages() as outbox:
mail.send_message(subject='testing',
body='test',
recipients=emails)
assert len(outbox) == 1
assert outbox[0].subject == "testing"
outbox 是一个 发送 Message
实例的列表。
为了使得上述代码能够正常运行,必须安装 blinker 包。
需要注意的是以前的处理方式,即把 outbox 赋予给 g
对象已经过时。
当前内容版权归 wizardforcel 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 wizardforcel .