ruby-on-rails – 如何配置Rails在引发弃用警告时引发错误?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何配置Rails在引发弃用警告时引发错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在将一个相当大的应用程序从Rails 3.0升级到3.2,并试图摆脱所有的弃用警告.我的问题不是要改变以解决特定的警告,而是如何让Rails将它们视为异常来处理它们,因此它将以开发模式转储堆栈跟踪,因此我将获得完整的堆栈跟踪,以查看违规代码的位置来自(哪里.这样我就可以使用我的测试套件来找到它们,并且验证它们已被清除.如果有一种方法可以让rspec失败,如果它记录了一个弃用警告,那么这也是有效的.

(如果有人想知道,我没有升级到rails 4.0的原因是应用程序依赖于一些宝石,AFAIK还没有完全准备好rails 4,尤其是activerecord-oracle_enhanced-adapter.)

解决方法

弃用警告由ActiveSupport :: Deprecation处理,当一些代码想要显示这样的警告时,它会调用
ActiveSupport::Deprecation.warn("some message")

没有抛出错误.为了回答你的问题,恐怕你必须使用黑色工具的猴子补丁:)无论如何,解决方案是临时使用,将被删除.

更新:

OP指出了一个快速和合法的评论方法,所以猴子补丁已经不再是一个选择.

这是他的代码

# config/environments/test.rb
ActiveSupport::Deprecation.debug = true

猜你在找的Ruby相关文章