我使用RSpec和rspec-rails 2.10进行测试。如何设置RSpec时区?
我已经在environment.rb中将Rails时区设置为UTC,但RSpec时区成为我的本地时区,东京。
我已经写了Time.zone setteing在environments/test.rb和spec_helper.rb但没有修复。
如何设置RSpec时区?
我使用RSpec和rspec-rails 2.10进行测试。如何设置RSpec时区?
我已经在environment.rb中将Rails时区设置为UTC,但RSpec时区成为我的本地时区,东京。
我已经写了Time.zone setteing在environments/test.rb和spec_helper.rb但没有修复。
如何设置RSpec时区?
问题是另一点。 我写了一个调整时区偏移的方法,该方法改变了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
'Time.zone'使用ActiveSupport :: TimeWithZone,这是在Rails中设置时区的正确方法。你确定你在RSpec中使用ActiveSupport :: TimeWithZone类吗?有关正确的用法,请参阅此[文档](http://jsfiddle.net/ARf9M/1/)。 – 2012-08-12 11:17:15
您能否发表一个代码? “RSpec时区”有点含糊不清。 – 2012-08-12 14:18:20
@TanzeebKhalili,你发布的链接是一个高脚的JavaScript小提琴,与Rspec,Timezones或ActiveSupport无关。 – gardenofwine 2013-07-24 06:50:43