Трудно сравнивать время с RSpec
Я использую Ruby on Rails 4 и гем rspec-rails 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 ==)