0

我一直对黄瓜有一个烦人的问题。如果Controller中有任何错误,它只会显示capybara引发的错误。我确定这不是以前的工作方式吗?

例如,如果引发异常,我看到的唯一输出是: expected to find css "h1" with text "blah

为了真正看到错误,我必须puts page.body看到控制器错误

这是预期的行为吗?

4

1 回答 1

0

这是预期的行为。Capybara 扮演用户的角色,并对从服务器返回的内容做出响应。是的,这很烦人,并且使故障难以调试。

在使用技巧找到问题后,puts page.body您应该提高较低级别的测试覆盖率以检测错误原因,提供更多信息的失败,然后修复问题。较低级别的测试覆盖率越高,运行全栈测试时 Ruby 代码出错的频率就越低。

顺便说一句,我会将其描述为全栈测试(例如 Capybara)的问题,而不是与 Cucumber 相关的问题。Cucumber 可以运行非全栈测试,您可以在 Cucumber 之外运行全栈测试(例如通过在 RSpec 中使用 Capybara)

于 2013-08-23T15:47:54.763 回答