【发布时间】:2016-06-30 13:49:11
【问题描述】:
我的测试套件有一个小问题:当我在页面上运行检查 ajax 操作的规范时,有时会出现随机错误
Failure/Error: expect(page).to have_content 'DHH'
这个错误很少显示(大约 1/100),但这让我很困惑。我认为这是一个“竞争条件”的原因,我将此配置添加到我的 spec/rails_helper.rb
Capybara.default_max_wait_time = 10
但这对我没有帮助,我决定添加时间戳
it 'adds new DHH', js: true do
find('#modal_new_dhh').click
fill_in('name', with: 'DHH')
p 'click button'
p Time.now.strftime('%H:%M:%S.%L')
click_button('Submit')
p 'checking content'
p Time.now.strftime('%H:%M:%S.%L')
expect(page).to have_content 'DHH'
p 'after checking content'
p Time.now.strftime('%H:%M:%S.%L')
end
然后看看
"click button"
"17:34:43.083"
"before checking content"
"17:34:43.127"
"after checking content"
"17:34:43.213"
为什么水豚在点击按钮后不等待?
对不起我的英语不好
【问题讨论】:
标签: ruby-on-rails capybara integration-testing