gpt4 book ai didi

python - 使用生菜进行测试时无法访问发件箱

转载 作者:行者123 更新时间:2023-12-01 04:38:30 25 4
gpt4 key购买 nike

我正在使用 Lettuce 来测试我的一个应用程序。

我正在测试一个模块来检查我是否可以发送电子邮件。

我做了一些研究,并在 Django 文档中发现了一种简单的测试方法。

from django.core import mail
from django.test import TestCase

class EmailTest(TestCase):
def test_send_email(self):
# Send message.
mail.send_mail('Subject here', 'Here is the message.',
'from@example.com', ['to@example.com'],
fail_silently=False)

# Test that one message has been sent.
self.assertEqual(len(mail.outbox), 1)

# Verify that the subject of the first message is correct.
self.assertEqual(mail.outbox[0].subject, 'Subject here')

问题是我不断收到错误AttributeError: 'module' object has no attribute 'outbox'

来 self found ,这里的问题是

The Django server runs in a different process from the lettuce scripts, which would make the outbox inaccessible.

我做了更多研究并找到了一个可能的解决方案 here .

那家伙是这样说的:

# in terrain.py
from lettuce import before, after, world
from django.conf import settings

@before.handle_request
def override_mail_settings(httpd, server):
settings.EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'

但我不知道我的 terrain.py 等效项是什么。我在 steps.py 文件中尝试过,但没有成功。

有人知道如何解决这个问题吗?

最佳答案

我设法找到here经过更多研究后我的问题得到了答案。

我唯一要做的就是编辑settings.py并添加这一行:

EMAIL_BACKEND = 'django.core.mail.backends.locmem.EmailBackend'

关于python - 使用生菜进行测试时无法访问发件箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31272880/

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