@H_502_1@我在使用rspec,capybara,capybara-webkit和timecop看到一些集成规范中的错误.
Capybara::FrozenInTime: time appears to be frozen,Capybara does not work with libraries which freeze time,consider using time travelling instead
我知道冻结时间的唯一宝石是Timecop,但我没有在失败的测试用例中使用它.
由于错误只是偶尔发生,我甚至不知道它在改变之后是否消失.
解决方法
错误消息的结尾包含解决方案:
consider using time travelling instead
只需将Timecop.freeze更改为Timecop.travel即可. Timecop.freeze breaks Capybara’s auto-wait feature.
另外,我会在一个后块中调用Timecop.return,因为它将与最近的旅行块相关联:
after :each do Timecop.return end