在我的应用程序中,我有一些规格依赖于分散某些日期:
survey_instance.created_at + 1.day
然后我检查survey_instances的集合是否具有适当的大小。但是这个规格总是在凌晨3点失败。我怎样才能分散日期以避免这个问题呢?
答案 0 :(得分:2)
对于这个问题,发明了Timecop!
提供"时间旅行的宝石"并且"时间冻结"功能,使测试时间相关的代码变得简单。它提供了统一的方法来在一次调用中模拟Time.now,Date.today和DateTime.now。
捆绑它并将您的规范更改为:
Timecop.freeze(2015, 10, 21, 10, 5, 0) do
# whatever your assertion is
end
这将确保此测试始终在一天的同一时间运行。