[英]Avoid django.core.mail.outbox as e-mail backend in test execution on Django
在我的settings.py
我有關於我的smtp電子郵件后端的配置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.zoho.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'user@domain.com'
EMAIL_HOST_PASSWORD = 'user'
DEFAULT_FROM_EMAIL = 'contact@domain.com'
當我在開發期間運行服務器(即python manage.py runserver
)時,電子郵件會正常發送。 但是當我運行驗收測試(即python manage.py test functional_tests
)時,不會發送電子郵件。
閱讀文檔,我在這里發現Django認為在測試期間發送虛擬盒子的電子郵件是件好事,但文檔並沒有告訴我如何禁用此功能(我想通過smtp發送電子郵件)在運行測試時)。
有人知道在運行測試時我必須通過smtp發送電子郵件嗎?
提前致謝。
使用override_settings
裝飾器。
from django.test import override_settings
class TestView(TestCase):
@override_settings(EMAIL_BACKEND='django.core.mail.backends.smtp.EmailBackend')
def test_view(self):
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.