ruby-on-rails – 在测试期间模拟当前日期
发布时间:2020-12-17 03:09:56 所属栏目:百科 来源:网络整理
导读:我正在编写测试,我想知道在测试期间是否有办法更改当前日期? 关键是我正在测试应用程序的统计功能,该功能连接到每次调用操作时创建实例的跟踪模型(仅通过“before_filter only”调用跟踪某些操作) 因此,我需要在不同的时间点在不同的控制器中调用此操作来测
我正在编写测试,我想知道在测试期间是否有办法更改当前日期?
关键是我正在测试应用程序的统计功能,该功能连接到每次调用操作时创建实例的跟踪模型(仅通过“before_filter only”调用跟踪某些操作) 因此,我需要在不同的时间点在不同的控制器中调用此操作来测试我的分析组件正在进行正确的计算,但我没有找到任何方法在以下示例代码中实现change_current_time: test "login count" do change_current_time(2.day.ago) get "users/login/testuser/testpassword" assert login_count(2.day.ago) == 1 change_current_time(1.day.ago) get "users/login/testuser/testpassword" get "users/login/testuser1/testpassword1" assert login_count(1.day.ago) == 2 end 解决方法
做这种事情有很多宝石.我最喜欢的是delorean:
https://github.com/bebanjo/delorean
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |