如何设置RSpec时区?

时间:2012-08-12 10:42:10

标签: ruby-on-rails-3 rspec2 rspec-rails

我正在使用RSpec和rspec-rails 2.10进行测试。

我在环境.rb中将Rails时区设置为UTC,但RSpec时区成为我当地的时区,东京。

我在环境/ test.rb和spec_helper.rb上编写了Time.zone setteing,但没有修复。

如何设置RSpec时区?

2 个答案:

答案 0 :(得分:0)

问题是另一点。 我写了一个调整时区偏移量的方法,该方法改变了Rails时区。 这是代码。

class WeeklyEvent < ActiveRecord::Base
    def adjust_time_zone_offset
        Time.zone = timezone # => This is the problem. Rails Time.zone changes to timezone.
        time_zone_offset = Time.zone.utc_offset # => 32400 JST offset 9 hours in seconds.
        self.start_date_time  = (start_date_time - time_zone_offset).in_time_zone('UTC')
    end
 end

 japanese_event = WeeklyEvent.find(1)
 p japanese_event.start_date_time  #=> Sun, 01 Jan 2012 09:00:00 JST +09:00

答案 1 :(得分:-2)

使用Time.zone.now代替Time.now