2015-09-01 3 views
0

Я пишу интеграционный тест с использованием водосвинки и Капибарой-WebKit, где мне нужно сравнить два раза, и это случайно не удается, потому что иногда вторые проходы и у меня есть провалы, каквремени замораживания в тесте интеграции водосвинка

expected: "Sep 01 2015 @ 04:49:17 employee_1" 
    got: "Sep 01 2015 @ 04:49:18 employee_1" 

в тесте без интеграции, когда мне приходится иметь дело со временем я использую Timecop.freeze но если я пытаюсь здесь я получаю

водосвинку :: FrozenInTime:

время появляется б e замороженный, Capybara не работает с библиотеками, которые замораживают время, подумайте о том, чтобы использовать время, а не

Есть ли способ, которым я могу гарантировать, что время не изменится во время выполнения теста?

Благодаря

ответ

1

При обновлении до Капибара 2.5 и используют Ruby, 2.0+ затем Timecop.freeze должен быть годным к употреблению. Это связано с тем, что Capybara 2.5 теперь использует системные монотонные часы для своего режима ожидания, если он доступен, что позволяет замораживать методы рубинового времени.

+0

К сожалению, Capybara 2.5 тормозит некоторый тест, который у меня есть, и у меня нет времени заниматься этим, поэтому я вручную заморозил время на моем вспомогательном оборудовании – macsig

+0

Какая версия Capybara у вас работает? 2.4.x до 2.5 не должно ничего сломать. –