Problemy z porównywaniem czasu z RSpec
Używam Ruby on Rails 4 i rspec-rails gem 2.14. Dla mojego obiektu chciałbym porównać bieżący czas zupdated_at
atrybut obiektu po uruchomieniu akcji kontrolera, ale mam problem, ponieważ specyfikacja nie przechodzi. Oznacza to, że podany jest kod specyfikacji:
it "updates updated_at attribute" do
Timecop.freeze
patch :update
@article.reload
expect(@article.updated_at).to eq(Time.now)
end
Po uruchomieniu powyższej specyfikacji otrzymuję następujący błąd:
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 ==)
Jak mogę przekazać specyfikację?
Uwaga: Próbowałem także następujących rzeczy (zwróć uwagę nautc
dodanie):
it "updates updated_at attribute" do
Timecop.freeze
patch :update
@article.reload
expect(@article.updated_at.utc).to eq(Time.now)
end
ale specyfikacja nadal nie przechodzi (zwróć uwagę na różnicę wartości „dostał”):
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 ==)