Comment geler correctement le temps avec Timecop dans mes spécifications?

Je suis en train d'utiliser une combinaison de Timecop et l'interrogation de l'arel where_sql de données, mais je n'arrive pas à obtenir Timecop à fait figer le temps. J'ai essayé de Timecop.gel et Timecop.freeze(de Temps.maintenant), qui sont tous deux légèrement lors de l'utilisation des Temps.maintenant, dans mon spec.

Ce qui me manque? Ruby 1.9.2, Rails 3.1.0.rc5

--

erreur

Failure/Error: Game.unreleased.arel.where_sql.should eq("WHERE (release_date > '#{Time.now}')")


     expected "WHERE (release_date > '0000-01-01 00:00:00 -0500')"
     got "WHERE (release_date > '0000-01-01 05:00:00.000000')"

modèle

scope :unreleased, lambda { |limit = 4| where('release_date > ?', Time.now).
                                        order('release_date asc').
                                        limit(limit) }

spec

it "should retrieve games with a release date later than today" do
  Timecop.freeze
  Game.unreleased.arel.where_sql.should eq("WHERE (release_date > '#{Time.now}')")
end

source d'informationauteur Eric M.