我有一个要求是这样的:如何单元测试会话超时在Django
只要用户signsup(并会处于等待状态,直到他确认他的电子邮件地址),会话变量设置的东西如“FIRST_TIME_FREE_SESSION_EXPIRY_AGE_KEY”(抱歉,如果名称听起来令人困惑!)将被设置为将日期时间对象添加到当前时间8小时。
这应该如何影响用户,用户得到8小时的时间才能真正使用我们网站的所有功能,而无需确认他的签名电子邮件地址。 8小时后,每个视图/页面将显示一个大横幅,告诉用户确认。 (所有这些功能都是使用每个视图的一个“ensure_confirmed_user”装饰器来实现的)。
我想用django的unittest addon(TestCase类)测试相同的功能。我该怎么做?
更新:我是否需要手动更新提到的会话变量值(修改8小时到几秒)以完成它?或者有更好的方法吗?
更新:这可能听起来很疯狂,但我想模拟来自未来的请求。
[freezegun(https://pypi.python.org/pypi/freezegun/)让你随意操纵时间的测试。由此产生的测试也很明确。 – 2016-05-02 09:50:31