相关疑难解决方法(0)

Django 1.3:测试期间发件箱为空

也许我不明白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)

也许我一直在努力工作并且遗漏了一些非常明显的东西?

django django-testing

12
推荐指数
1
解决办法
1893
查看次数

标签 统计

django ×1

django-testing ×1