Django 1.3: Исходящие пустые во время тестов

Возможно, я не понимаю, как работает исходящий почтовый ящик, но из документации я понял, что он просто перехватывает всю исходящую почту во время тестирования.

Я создал новый проект с новым приложением и добавил следующий код.

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 )

Когда я запускаю python manage.py test app_name, он выдает ошибку утверждения: 0! = 1. Я что-то делаю не так?

Обновление

Это странно, если я импортирую django.core.mail и использую mail.outbox, он работает.

Пытался сравнить прямой импорт исходящих ящиков и mail.outbox, и оба они дали разные результаты

from django.core import mail
from django.core.mail import send_mail, outbox     
...
self.assertEqual(outbox, mail.outbox)

возвращает:

- []
+ [<django.core.mail.message.EmailMessage object at 0x1e1fd90>]

Может, я долго работал и упустил что-то действительно очевидное?

12
задан Pickels 24 March 2011 в 19:57
поделиться