【发布时间】:2017-10-20 16:35:03
【问题描述】:
随着时间的推移,我们注意到随着机器性能的提高,我们最终会遇到更多带有时间问题的 Rails 规范,其中时间戳似乎不明显。例如:
event1 = create(:event)
event2 = create(:event)
expect(Event.order(:created_at).last).to eq event2
上述测试在历史上一直是完全可靠的,但最近由于我们的计算机功能更强大而明显变得不稳定。有时是event1,有时是event2。关于这里发生的事情,我最好的猜测是,它们最终一个接一个地创建得如此之快,以至于时间戳并不明显。我想知道是否有办法在我们的测试中提高时间戳的精度来解决这个问题,还是我只需要在任何地方手动指定时间戳?例如,我们开始做的事情是这样的:
event1 = create(:event, created_at: 1.minute.ago)
event2 = create(:event)
expect(Event.order(:created_at).last).to eq event2
我也想知道它是否与数据库时间戳精度有关,还是只是在 Rails 领域?
【问题讨论】:
标签: ruby-on-rails postgresql testing rspec