gpt4 book ai didi

python - 如何对 django 消息进行单元测试?

转载 作者:IT老高 更新时间:2023-10-28 21:37:52 25 4
gpt4 key购买 nike

在我的 django 应用程序中,我正在尝试编写一个单元测试来执行一个操作,然后检查响应中的消息。

据我所知,没有很好的方法可以做到这一点。

我使用的是CookieStorage存储方式,我想做类似下面的事情:

    response = self.client.post('/do-something/', follow=True)
self.assertEquals(response.context['messages'][0], "fail.")

问题是,我得到的只是一个

print response.context['messages']
<django.contrib.messages.storage.cookie.CookieStorage object at 0x3c55250>

我怎样才能把它变成有用的东西,还是我做错了?

谢谢,丹尼尔

最佳答案

我找到了一个非常简单的方法:

response = self.client.post('/foo/')
messages = list(response.context['messages'])
self.assertEqual(len(messages), 1)
self.assertEqual(str(messages[0]), 'my message')

如果您需要检查没有上下文的响应中的消息,您可以使用以下命令:

from django.contrib.messages import get_messages
messages = list(get_messages(response.wsgi_request))
self.assertEqual(len(messages), 1)
self.assertEqual(str(messages[0]), 'my message')

后备存储不支持索引,但它是可迭代的。

关于python - 如何对 django 消息进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2897609/

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