2

我正在尝试为 ajax 请求返回某个 JSON 响应后 UI 中发生的事情编写端到端测试。

基本上,我想通过创建一个活动记录对象、请求它(通过 ajax get)然后测试前端是否在某处显示该内容来测试整个堆栈。我正在使用带有 Backbone.js 前端的 Capybara/Rspec 运行 Rails 3。

目前,我正在通过显式设置等待响应sleep。目前这工作正常,但显然不是最好的主意。

如何等待 Capybara 中的 ajax 响应?我是否需要通过隐藏的表单字段或其他方式公开 JSON 对象?

4

1 回答 1

0

如果您正在检查页面内容,Capybara 会自动等待响应。如果等待时间不够长,请尝试增加 spec_helper.rb 文件中 Capybara.default_wait_time 的值。就我而言,我发现默认只有 2 秒;将其增加到 5 有助于我的规范通过。

于 2013-08-21T14:29:06.127 回答