2014-03-28 71 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" 

然后,你可以比较作为字符串