在一次rspec测试中设置时区

tru*_*iso 4 rspec ruby-on-rails ruby-on-rails-3

我试图以这种方式在一个rspec测试上设置时区:

zone = ActiveSupport::TimeZone.new('Hawaii')
Time.stub(:now) { Time.now.in_time_zone(zone) }
Run Code Online (Sandbox Code Playgroud)

这给了我一个堆栈级别太深的错误,我在这里缺少什么?

Sur*_*rya 10

试着这样做:

zone = ActiveSupport::TimeZone.new('Hawaii')
Time.stub(:now){ Time.new.in_time_zone(zone) }
Run Code Online (Sandbox Code Playgroud)

我不确定,但它似乎是stubbing now然后Time.now在块中调用导致堆栈级别太深的错误.