Capybara::FrozenInTime error in integration specs using Rspec + Timecop + Capybara + Capybara Webkit

capybara, capybara-webkit, rspec, ruby-on-rails-3, timecop

Solution

The solution I found was to add

before :each do
  Timecop.return
end

in spec_helper.rb.

This way we garantee that the time is not frozen before each test, although the only ones that have this problem are the ones executed in a webdriver different from `rack-test`. In my case `capybara-webkit`.

Problem

I'm seeing an error in some integration specs, using rspec, capybara, capybara-webkit and timecop. ``` Capybara::FrozenInTime: time appears to be frozen, Capybara does not work with libraries which freeze time, consider using time travelling instead ``` The only gem that I know that freezes time is Timecop, but I'm not using it in the test case that fails. Since the error occurs only sometimes I can't even know if its gone or not after changing something.

Original source