エラー404、500の正しいメッセージがRails UJS/ajaxモーダルに表示されていることを確認するための操作テストがあります。 「確かに私はドン:Capybara - タイムアウト(rspec/capybara/webkit/puffing-billy)のAjaxレスポンスコードを確認します
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
をしかし、私はこの問題は、タイムアウトがあるときに正しいメッセージが表示されることをテストするために失敗し、以下の例がある(私はAjaxのレスポンスをスタブにしpuffing billy gemを使用している以下のテストは合格します) 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?