加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在不更改系统时钟的情况下,在rspec测试中设置

发布时间:2020-12-16 21:35:07 所属栏目:百科 来源:网络整理
导读:我正在努力获得一个可以使用时区的rails 3应用程序.我的开发机器在EDT,我所托管的服务器是UTC.在我的rspec测试中有一种方法可以改变 ruby使用的系统时区,以便我使用相同的系统时区运行测试,而无需更改计算机上的系统时钟.我看过Delorean和Timecop,他们不是我
我正在努力获得一个可以使用时区的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读