2016-01-20 63 views
1

我最近切換到水豚2.5.0 & webkit 1.7.1。水豚和黃瓜 - 功能與預期的控制器異常失敗

我有一個黃瓜功能,我想檢查我的JavaScript處理失敗的AJAX請求

與以往水豚版本:

  • 我存根的API請求與響應400因此控制器動作提出了這個異常(RestClient::BadRequest),而不搶救它。
  • 我的JavaScript顯示一個自定義消息,以防ajax請求失敗。
  • 當控制器引發異常時,功能未失敗,流程正常繼續。 ajax請求失敗,我的js按預期處理它。

隨着新版本的水豚:的功能異常時在控制器級別發生故障。

我不希望該功能停止在該級別,但繼續對瀏覽器的錯誤響應,以便我可以用我的js處理錯誤。

回答

1

我想這種行爲改變不是因爲水豚更新,而是因爲你將web_console gem移出了測試組。這意味着在服務器中實際上並沒有提出異常,因爲web_console抓住了它們。現在,例外情況不會被捕獲Capybara正在顯示它們。 Capybara具有Capybara.raise_server_errors設置來啓用/禁用該行爲。

Capybara.raise_server_errors = false

+0

謝謝你,你是對的! –