Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 在不更改系统时钟的情况下,在rspec测试中设置系统时间大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在努力获得一个可以使用时区的rails 3应用程序.我的开发机器在EDT,我所托管的服务器是UTC.在我的rspec测试中有一种方法可以改变 ruby使用的系统时区,以便我使用相同的系统时区运行测试,而无需更改计算机上的系统时钟.我看过Delorean和Timecop,他们不是我在找的.我正在寻找类似的东西
Time.system_time_zone = "UTC"

…然后Time.now将返回UTC时间,而不是我的系统时区设置为.

解决方法

before {Time.stub(:now) {Time.now.utc}}

有了这个,在你的测试中调用了Time.now,它会以UTC为单位返回系统的时间.

例:

describe Time do
  before {Time.stub(:now) {Time.now.utc}}

  it "returns utc as my system's time" do
    Time.now.utc?.should be_true
  end
end

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 在不更改系统时钟的情况下,在rspec测试中设置系统时间全部内容,希望文章能够帮你解决ruby-on-rails – 在不更改系统时钟的情况下,在rspec测试中设置系统时间所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: