Timecop'un bir kombinasyonunu kullanmaya çalışıyorum ve data için arşivi nerede olduğunu sorguladım ama Timecop'u zamanın gerçekten dondurması için göremiyorum. Timecop.freeze ve Timecop.freeze (Time.now) denedim, her ikisi de benim spec.now kullanırken zaman biraz kapalıdır.Spesifikasyonumdaki zamanı doğru bir şekilde nasıl dondururum?
Neyi eksik? Yakut 1.9.2, 3.1.0.rc5
Raylar -
hatayı
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')"
modeli
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
, Ben timcop sanmıyorum ama zaman damgası biçimlerinde bir sorun. Şimdi sadece bu parçayı bulmak için. –