我已经为客户建立了一个付费的 CMS + 发票系统,我需要对我的测试进行更严格的测试。
我将所有数据保存在 Django ORM 中,并有一堆以不同时间间隔运行的 Celery 任务,以确保在用户不支付发票时发送新发票和发票提醒并切断访问权限。
例如,我希望能够运行以下测试:
创建一个新用户并为 X 天访问该站点生成发票
模拟 X + 1 天的过去,并运行我在 Celery 中设置的所有任务。
检查是否已向用户开具其他 X 天的新发票。
到目前为止,我提出的 KISS 方法是在单独的机器上进行所有测试,并在操作系统级别实际操作日期/时间。所以测试脚本会:
将系统日期设置为第 1 天
创建一个新用户并为 X 天的访问生成第一张发票
提前系统日期 1 天。运行我所有的芹菜任务。重复直到 X + 1 天“过去”
检查是否已开具新发票
这有点笨拙,但我认为它可能会起作用。关于如何完成它的任何其他想法?