我使用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