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 ==)

Antworten auf die Frage(6)

Ihre Antwort auf die Frage