Pic*_*els 12 django django-testing
也许我不明白outbox是如何工作的,但是从我理解的文档中,它只是在测试期间捕获所有外发邮件.
我用新应用程序创建了一个新项目,并添加了以下代码.
from django.test import TestCase
from django.core.mail import send_mail, outbox
class SimpleTest(TestCase):
def test_basic_addition(self):
send_mail('Subject here',
'Here is the message.',
'from@example.com',
['to@example.com'],
fail_silently=False)
self.assertEqual( len( outbox ), 1 )
Run Code Online (Sandbox Code Playgroud)
当我运行python manage.py test app_name时,它会给出一个断言错误0!= 1.我做错了什么?
更新
好吧,如果我导入django.core.mail并使用mail.outbox它确实有效,这很奇怪.
试图比较outbox和mail.outbox的直接导入,它们都给出了不同的结果
from django.core import mail
from django.core.mail import send_mail, outbox
...
self.assertEqual(outbox, mail.outbox)
Run Code Online (Sandbox Code Playgroud)
收益:
- []
+ [<django.core.mail.message.EmailMessage object at 0x1e1fd90>]
Run Code Online (Sandbox Code Playgroud)
也许我一直在努力工作并且遗漏了一些非常明显的东西?
Pic*_*els 18
也许我应该阅读文档.
outbox属性是一个特殊属性,仅在使用locmem电子邮件后端时创建.它通常不作为django.core.mail模块的一部分存在,您无法直接导入它.
归档时间: |
|
查看次数: |
1893 次 |
最近记录: |