5

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

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

我已经在环境/test.rb 和 spec_helper.rb 中编写了 Time.zone 设置,但没有修复。

如何设置 RSpec 时区?

4

2 回答 2

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
于 2012-08-16T14:23:40.440 回答
-2

使用Time.zone.now而不是Time.now.

于 2013-01-21T23:04:20.740 回答