2014-03-28 70 views
0

我的一個說法是,因爲這種輕微挑剔的失敗:包括「UTC`在日期時間

its(:register_token_created_at){ should eq DateTime.now.utc } 

結果:

expected: Fri, 28 Mar 2014 00:06:33 +0000 
     got: Fri, 28 Mar 2014 00:06:33 UTC +00:00 

所以我應該怎麼改變DateTime.now.utc它通過?

回答

1

我假設你有你的測試環境具有以下配置:

yourapp /配置/環境/ test.rb

#config.time_zone = "whatever" 
config.active_record.default_timezone = :utc 

然後,您可以取代:

DateTime.now.utC#Fri, 28 Mar 2014 00:54:28 +0000 

With:

Time.zone.now #Fri, 28 Mar 2014 00:54:51 UTC +00:00 

爲我的作品...

另一個(醜陋的)解決方案可以是:

DateTime.now.utc.strftime("%a, %m %b %Y %H:%M:%S UTC %:z") #"Fri, 03 Mar 2014 00:55:46 UTC +00:00" 

然後,你可以比較作爲字符串