ruby-on-rails – 如何在集成测试中检查正在进行的AJAX调用的数量?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何在集成测试中检查正在进行的AJAX调用的数量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个远程表单,它在 AJAX请求进行时禁用提交按钮.我想检查一下,如果我强调点击按钮,就不会有其他的AJAX请求.我怎么能在集成测试中检查这个?

解决方法

你可以用 jquery检查活动的ajax调用
$.active

如果你使用capybara进行集成测试

page.evaluate_script('$.active').should be <= 1

可能是一个解决方案.

你可能不知道什么时候发生呼叫
辅助函数可能会起作用

def test_until(seconds=5)
  start_time = Time.now
  while (Time.now - start_time) <= seconds do
    yield
    sleep 0.05
  end
end

可以这样称呼

test_until do
  page.evaluate_script('$.active').should be <= 1
end

因此,如果有多个活动的ajax调用,则测试5秒

猜你在找的Ruby相关文章