ruby-on-rails – 当我运行功能测试时,如何在Ruby on Rails应用
发布时间:2020-12-17 03:33:30 所属栏目:百科 来源:网络整理
导读:我的 Ruby on Rails应用程序中有许多控制器,在操作结束时有一个救援处理程序,基本上可以捕获任何未处理的错误并返回某种“用户友好”错误.但是,当我进行rake测试时,我希望禁用那些默认的救援处理程序,这样我就可以看到完整的错误堆栈跟踪.有没有自动化的方法
我的
Ruby on Rails应用程序中有许多控制器,在操作结束时有一个救援处理程序,基本上可以捕获任何未处理的错误并返回某种“用户友好”错误.但是,当我进行rake测试时,我希望禁用那些默认的救援处理程序,这样我就可以看到完整的错误&堆栈跟踪.有没有自动化的方法来做到这一点?
更新澄清:我有这样的行动: def foo # do some stuff... rescue render :text => "Exception: #{$!}" # this could be any kind of custom render end 现在,当我对此进行功能测试时,如果异常被提出,那么我将获得关于异常的一些信息,但我想要的是它的行为好像那里没有救援处理程序,所以我获取完整的调试信息. 更新:解决方案 我这样做了: rescue: raise unless Rails.env.production? render :text => "Exception: #{$!}" # this could be any kind of custom render end 解决方法
不是很自动化,但是如何修改代码以在测试中调用时重新抛出异常?
也许是这样的: def foo # do some stuff... rescue raise if ENV["RAILS_ENV"] == "test" render :text => "Exception: #{$!}" # this could be any kind of custom render end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |