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秒

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...