【发布时间】:2013-11-06 03:56:15
【问题描述】:
在阅读文档时,我遇到了两个我无法真正理解的矛盾段落
第一个说:
测试客户端是有状态的。如果响应返回一个 cookie,那么该 cookie 将被存储 > 在测试客户端中,并与所有后续的 get() 和 post() 请求一起发送。
不遵守这些 cookie 的过期政策。如果您希望 cookie 过期,>要么手动删除它,要么创建一个新的客户端实例(这将有效地删除所有 >cookie)。
而另一个:
django.test.TestCase 实例中的每个测试用例都可以访问 Django 测试客户端的实例。该客户端可以作为 self.client 访问。 >每个测试都会重新创建此客户端,因此您不必担心状态(例如 cookie)会从 >一个测试转移到另一个测试。
简单地说,如果我要测试登录,我必须使用django.contrib.auth.logout()
在每个login() || 之后post('/login/',data)?
还是每个测试用例 login|post|get 都有自己的 state/cookies/session 数据?
这让我有点困惑。
【问题讨论】:
-
在 Client() Client.logout() 中找到了另一种方式
标签: python django session testing cookies