gpt4 book ai didi

python - 具有基于文件的电子邮件后端服务器的 Django 测试框架

转载 作者:太空狗 更新时间:2023-10-29 22:00:15 25 4
gpt4 key购买 nike

我在 Django 框架中制定了测试用例。

用例:我正在使用通过向用户发送电子邮件来注册用户的 API,当他们单击电子邮件中提供的链接时,他们的帐户就会被激活。

在我的settings.py中我正在使用

EMAIL_FILE_PATH  ='django.core.mail.backends.filebased.EmailBackend'

指向本地目录

当从 eclipse everything works 文件运行 PyUnit 测试用例时。为每封发送的电子邮件生成文本文件

但是,当我使用

python ./manage.py test <component_name>

文件不会生成。

当我使用 ./manage.py 执行测试用例和使用 pyUnit 执行测试用例时,有什么区别吗?

最佳答案

如果您想使用特定的电子邮件后端,可以在 Django 中覆盖此方面。

在django.test.utils中,Django会在Django搭建测试环境时将e-mail后端更改为locmem,如Django Testing文档中所述:

def setup_test_environment():
...
mail.original_email_backend = settings.EMAIL_BACKEND
settings.EMAIL_BACKEND = 'django.core.mail.backends.locmem.EmailBackend'

因此,如果您想启用发送电子邮件进行测试,您只需将设置更改为您想要的即可。

from django.test.utils import override_settings

@override_settings(EMAIL_BACKEND='django.core.mail.backends.filebased.EmailBackend')
class MyTest(TestCase):
# your test case

关于python - 具有基于文件的电子邮件后端服务器的 Django 测试框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13848938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com