【发布时间】:2011-05-25 10:39:50
【问题描述】:
我正在编写测试,我想知道是否可以在测试期间更改当前日期?
重点是我正在测试应用程序的统计功能,该应用程序连接到一个跟踪模型,该模型在每次调用动作时都会创建一个实例(仅通过“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
【问题讨论】:
标签: ruby-on-rails unit-testing testing time