簡體   English   中英

避免django.core.mail.outbox作為Django上的測試執行中的電子郵件后端

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM