水豚&黄瓜 - 具有预期控制器异常的功能失败

时间:2016-01-20 10:02:27

标签: ruby-on-rails ruby cucumber capybara capybara-webkit

我最近改用了capybara 2.5.0& webkit 1.7.1。

我有一个黄瓜功能,我想检查我对失败的ajax请求的javascript处理

以前的水豚版本:

  • 我发布了一个API请求以响应400,因此控制器操作引发了此异常(RestClient::BadRequest)而没有挽救它。
  • 我的javascript在ajax请求失败时显示自定义消息。
  • 当控制器引发异常时,该功能没有失败,流程正常继续。 ajax请求失败,我的js按预期处理它。

使用新的水豚版本:在控制器级别发生异常时,该功能会失败。

我不希望该功能在该级别停止,而是继续对浏览器的错误响应,以便我可以使用我的js处理错误。

1 个答案:

答案 0 :(得分:1)

我猜这个行为改变不是因为资本金更新,而是因为你将web_console gem移出了测试组。这意味着在服务器中实际上从未提出异常,因为web_console全部捕获了它们。现在异常没有被捕获,Capybara正在展示它们。 Capybara有Capybara.raise_server_errors设置来启用/禁用该行为。

Capybara.raise_server_errors = false