Probleme beim Zeitvergleich mit RSpec

Ich bin mit Ruby, Ruby on Rails 4 und der rspec-rails gem 2.14. Für mein Objekt würde ich gerne vergleichen der aktuellen Zeit mit der updated_at Objekt-Attribut nach einer action ausgeführt wird, aber ich bin in Schwierigkeiten, da die spec nicht passieren. Das ist, da die folgenden ist der spec-code:

it "updates updated_at attribute" do
  Timecop.freeze

  patch :update
  @article.reload
  expect(@article.updated_at).to eq(Time.now)
end

Wenn ich die oben genannten Skillung bekomme ich die folgende Fehlermeldung:

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 Skillung zu bestehen?


Hinweis: ich habe versucht, auch die folgenden (beachten Sie die utc Ergänzung):

it "updates updated_at attribute" do
  Timecop.freeze

  patch :update
  @article.reload
  expect(@article.updated_at.utc).to eq(Time.now)
end

aber die Skillung noch nicht bestanden hat (man beachte die "got" - Wert Differenz):

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

InformationsquelleAutor der Frage Backo | 2013-12-05

Schreibe einen Kommentar