Probleme beim Zeitvergleich mit RSpec
Ich benutze Ruby on Rails 4 und das rspec-Rails Gem 2.14. Zu meinem Objekt möchte ich die aktuelle Uhrzeit mit der vergleichenupdated_at
Objektattribut nach einer Controller-Aktion ausgeführt, aber ich bin in Schwierigkeiten, da die Spezifikation nicht bestanden wird. Das heißt, vorausgesetzt, das Folgende ist der Spezifikationscode:
it "updates updated_at attribute" do
Timecop.freeze
patch :update
@article.reload
expect(@article.updated_at).to eq(Time.now)
end
Wenn ich die obige Spezifikation ausführe, wird der folgende Fehler angezeigt:
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 ==)
Wie kann ich die Spezifikation zum Bestehen bringen?
Hinweis: Ich habe auch folgendes probiert (beachte dasutc
Zusatz):
it "updates updated_at attribute" do
Timecop.freeze
patch :update
@article.reload
expect(@article.updated_at.utc).to eq(Time.now)
end
aber die Spezifikation besteht immer noch nicht (beachte den "got" -Wertunterschied):
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 ==)