最佳答案
我使用的是 Ruby on Rails4和 rspec-Rails gem 2.14。对于我的对象,我希望在控制器操作运行之后将当前时间与 updated_at
对象属性进行比较,但是我遇到了麻烦,因为规范没有通过。也就是说,给定以下是规格代码:
it "updates updated_at attribute" do
Timecop.freeze
patch :update
@article.reload
expect(@article.updated_at).to eq(Time.now)
end
当我运行上述规范时,我得到以下错误:
Failure/Error: expect(@article.updated_at).to eq(Time.now)
expected: 2013-12-05 14:42:20 UTC
got: Thu, 05 Dec 2013 08:42:20 CST -06:00
(compared using ==)
我怎样才能使规格通过?
注意 : 我还尝试了以下操作(注意增加的 utc
) :
it "updates updated_at attribute" do
Timecop.freeze
patch :update
@article.reload
expect(@article.updated_at.utc).to eq(Time.now)
end
但是规范仍然没有通过(注意“ got”值的差异) :
Failure/Error: expect(@article.updated_at.utc).to eq(Time.now)
expected: 2013-12-05 14:42:20 UTC
got: 2013-12-05 14:42:20 UTC
(compared using ==)