我有operationnal测试,以检查正确的消息显示在Rails UJS/ajax模态的错误404,500 ...这里低于一个例子(以下测试通过;我使用puffing billy gem末梢Ajax响应)水豚 - 识别阿贾克斯超时响应代码(rspec /水豚/ webkit /膨化比利)
it " displays correct modal message appears correctly after relevant 500 xhr/ajax response is received" do
visit deal_page_path(deal)
proxy.stub("http://127.0.0.1:59533/deals/dealname/thrill").and_return(:code => 500)
first('a.button').click
wait_for_ajax
within('ul.messenger') do
expect(page).to have_content('So sorry, we had a bug, try again')
end
end
但我不测试显示正确的消息时,问题是超时:确实我不t stub在rspec里面,由ajax发送的响应是一个超时,因为Chrome/webkit实际上不会发送头文件,也不是像500那样的“简单”代码,而是发送状态(取消)。
我尝试没有成功:
proxy.stub("http://127.0.0.1:59533/deals/dealname/thrill").and_return(:status => 'canceled')
proxy.stub("http://127.0.0.1:59533/deals/dealname/thrill").and_return(:status => '(canceled)')
注:不知道它与同一铬/ WebKit的行为,但我看到了这个帖子:What does status=canceled for a resource mean in Chrome Developer Tools?