我有一个创建文档快照的页面。例如,该文档的标题是时间戳(2014 年 9 月 27 日下午 4:01:10
)。我正在为此页面编写一个测试,并希望 stub 时间以使其不会改变。
我现在拥有的是 Time.stubs(:now).returns(Time.parse("2014-1-2 11:00:00"))
但是当我这样做时我收到一条错误消息:
Capybara::FrozenInTime: time appears to be frozen, Capybara does not work with libraries which freeze time, consider using time travelling instead
在这里打发时间的最佳方法是什么?
最佳答案
现在使用 Rails includes support直接用于时间旅行,例如:
feature 'Time travel verifier' do
include ActiveSupport::Testing::TimeHelpers
scenario 'works in the past' do
travel_to(1.day.ago) do
visit time_travel_verification_path
expect(page).to have_content('WOAH Time Travel!')
end
end
end
关于ruby-on-rails - capybara 测试中的 stub 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26088087/