【发布时间】:2014-07-03 21:57:04
【问题描述】:
我试图伪造Date.today 以便在我的rails 应用程序中测试一个场景:
before do
Date.stub(:today).and_return("2010-10-01".to_date)
end
我有一个范围(我正在使用 squeel gem),它应该可以在我的数据库中找到未来的付款:
class Payment < ActiveRecord::Base
scope :future, -> { where{payment_date > Date.today} }
end
(我用 lambda 来做,因为在原始代码中,作用域使用了一个 sifter,我在这里发布了一个简化的代码。)
当我运行规范时,似乎日期是在 lambda/sql 中计算的,并且与实际日期(而不是我的假 01/10/10)相比,我得到了未来付款的结果 - 你能确认我吗对吗?你有一个建议我如何用 rspec 测试这样的场景?
【问题讨论】:
标签: ruby-on-rails date rspec lambda