Capybara / Rspec监听ajax响应明确没有等待x秒

时间:2012-08-15 01:27:12

标签: ajax rspec capybara bdd

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

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

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

我怎样才能在Capybara等待ajax响应?我是否需要通过隐藏的表单字段或其他东西公开JSON对象?

1 个答案:

答案 0 :(得分:0)

如果您正在检查页面内容,Capybara会自动等待回复。如果它没有等待足够长的时间,请尝试在spec_helper.rb文件中增加Capybara.default_wait_time的值。在我的情况下,我发现默认只有2秒;将它增加到5有助于我的规范通过。