jvc*_*c26 6 python django unit-testing django-middleware django-testing
使用Django消息框架,我将消息传递给模板以在各种场景中呈现 - 用户帐户创建成功等.消息存储在会话的cookie中:
print response.cookies['messages']
Set-Cookie: messages="b6870b4797b65640bb535519a5b53808fdc0ea24$[[\"__json_message\"\05420\054\"Account verified\054 you are now logged in\"]]"; Path=/
Run Code Online (Sandbox Code Playgroud)
cookie是一个Morsel对象,但我似乎无法拉出它的组成部分来测试消息内容.任何帮助将非常感激!
编辑:10-05-2014:
另一种方法是在响应上下文中迭代消息.使用Django Test Client,可以通过以下方式解析响应消息项:
for message in response.context['messages']:
Run Code Online (Sandbox Code Playgroud)
返回每个Django Message对象,然后您可以查询测试的属性.这是原始选项的更干净的替代方案.
原始方案:
出于存档目的,原始的工作解决方案是询问响应cookie中的Cookie morsel对象.这比新解决方案更不干净.
self.assertTrue('Account verified' in response.cookies['messages'].value)
Run Code Online (Sandbox Code Playgroud)
在单元测试中.这似乎是一个非常难看的解决方案,但由于不会有另一个"帐户验证"设置,也没有另一个同时发送的消息,那么它似乎是可以接受的.
| 归档时间: |
|
| 查看次数: |
1932 次 |
| 最近记录: |