【发布时间】:2011-06-01 17:47:42
【问题描述】:
我想为应用程序创建测试数据,并且有很多 time_at 属性被跟踪,太多而无法以可维护的方式覆盖。我在想的是,我可以只更改 Ruby 中的基本参考时间变量吗?
这将使created_at、updated_at、last_login_at 等可以设置为人工时间,所以我可以在测试中这样做:
Date.today #=> Thu, 30 Dec 2010
Time.system_time_offset = 1.week.ago # made up
Date.today #=> Thu, 23 Dec 2010
Time.now #=> Thu Dec 23 14:08:38 -0600 2010
user_1 = User.create!
user_1.created_at #=> Thu Dec 23 14:08:38 -0600 2010
Time.reset_system_time # made up
user_2 = User.create!
user_1.created_at #=> Thu Dec 30 14:08:38 -0600 2010
有没有办法做到这一点?
【问题讨论】:
标签: ruby-on-rails ruby