我在Django框架中制定了测试用例。
使用案例:
我正在使用 API 通过向用户发送电子邮件来注册用户,当他们单击电子邮件中提供的链接时,他们的帐户就会被激活。
在我的 settings.py 中我使用
EMAIL_FILE_PATH ='django.core.mail.backends.filebased.EmailBackend'
它指向本地目录。
从 eclipse 运行 PyUnit 测试用例时,一切都有效文件。为每封发送的电子邮件生成文本文件
但是,当我使用时
python ./manage.py test <component_name>
文件不会生成。
任何见解当我执行测试用例时有什么区别./manage.py
当我使用时pyUnit
?
如果您想使用特定的电子邮件后端,可以在 Django 中覆盖此方面。
在 django.test.utils 中,当 Django 设置测试环境时,Django 会将电子邮件后端更改为 locmem,如 Django 测试文档中所述:
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)