2012-08-15 92 views
2

我试图编写一个端到端的测试,发生在ajax请求返回特定的JSON响应后在UI中发生的事情。水豚/ Rspec听ajax响应显式不等待x秒

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

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

如何等待水豚的ajax响应?我是否需要通过隐藏的表单域或其他东西公开JSON对象?

回答

0

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