Nic*_*rer 5 ruby rspec ruby-on-rails capybara selenium-chromedriver
当我在功能测试中遇到错误时,堆栈跟踪和错误将存储在我的机器和我们的 CI 的控制台上的结果中。
IE undefined method '#dance' for nilClass at line 36 of app/models/dancer.rb
我们最近更新了代码库,以对特定数据表和特定视图使用“延迟加载”(或服务器端加载)。这意味着在 JS/功能测试中,如果视图中的某些内容没有正确加载,而不是呈现错误,我们只是有一个永不停止旋转的微调器和超时错误(或找不到的东西)。
现在,如果我正在使用 Rails 服务器处理开发中的页面,并且延迟加载器的 POST 请求失败,我可以直接跳到我的终端并检查堆栈跟踪和发生了什么。
如何更新我的 Rspec/Capybara 测试以使其更加详细,并且当这些服务器端错误发生在延迟加载器请求上时,实际上将其解决为过去的测试失败情况?
真诚地感谢您可以提供的任何帮助,并且非常乐意跟进您可能需要的任何其他信息。
如果服务器中出现错误,请确保测试环境中没有安装任何可以捕获错误并显示漂亮页面(网络控制台、更好的错误等)的 gem,并确保Capybara.raise_server_errors = true
(这是默认值,因此请确保您没有将其设置为 false)。使用该配置,Capybara 尝试发送到驱动程序的下一个命令应该会导致 Capybara 引发错误。如果错误被某些东西(比如上面提到的 gem)捕获并刚刚记录下来,那么水豚就无法知道它。
归档时间: |
|
查看次数: |
306 次 |
最近记录: |