Я использую Ruby on Rails 4 и 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
но спецификация все еще не проходит (обратите внимание на разницу в значениях "получен" ):
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 ==)