【发布时间】:2010-11-22 04:46:01
【问题描述】:
我有这样的要求:
一旦用户注册(并且在他确认他的电子邮件地址之前将处于等待状态),会话变量就会设置为“FIRST_TIME_FREE_SESSION_EXPIRY_AGE_KEY”(对不起,如果名称听起来令人困惑!),它将被设置为datetime 对象将 8 小时添加到当前时间。
这应该如何影响用户,用户有 8 小时的时间来实际使用我们网站的所有功能,而无需确认他的注册电子邮件地址。 8 小时后,每个视图/页面都会显示一个大横幅,告诉用户确认。 (所有这些功能都是使用单个“ensure_confirmed_user”装饰器为每个视图实现的)。
我想使用 django 的 unittest 插件(TestCase 类)测试相同的功能。我该怎么做?
更新:我是否需要手动更新提到的会话变量值(将 8 小时修改为几秒钟)才能完成?或者有什么更好的方法吗?
更新:这听起来很疯狂,但我想模拟来自未来的请求。
【问题讨论】:
-
freezegun 让您在测试中随意操纵时间。结果测试也将非常明确。
标签: django session testing testcase