我在使用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,但我不会在失败的测试用例中使用它。
由于错误只是有时发生,我甚至不知道在更改某些东西后它是否消失了。
发布于 2012-08-23 04:04:29
我找到的解决方案是添加
before :each do
Timecop.return
end在spec_helper.rb中。
通过这种方式,我们保证在每次测试之前时间不会被冻结,尽管只有在与rack-test不同的webdriver中执行的测试才会出现这种问题。在我的例子中是capybara-webkit。
发布于 2013-07-03 02:17:44
错误消息的末尾包含解决方案:
考虑改用时间旅行
只需将Timecop.freeze更改为Timecop.travel。Timecop.freeze breaks Capybara's auto-wait feature.
此外,我将在after块中调用Timecop.return,因为它将与最近的旅行块相关联:
after :each do
Timecop.return
endhttps://stackoverflow.com/questions/12061421
复制相似问题