如何配置Rspec deprecation_stream,以便它将弃用警告记录到文件中?

问题描述

在即将升级到5.1的Rails 5.0.7应用程序中,我们希望将所有(许多)弃用警告捕获到一个文件中。

Rspec 3.9提供了一个非常清晰的示例,说明如何将弃用项发送到文本文件https://relishapp.com/rspec/rspec-core/v/3-9/docs/configuration/custom-deprecation-stream

但这不起作用:

# spec/spec_helper.rb
RSpec.configure do |config|
   config.deprecation_stream = File.open('deprecations.txt','w')
end

当我运行带有没有警告的规范时,stdout将显示以下情况: DEPRECATION WARNING: uniq is deprecated and will be removed from Rails 5.1 (use distinct instead) (called from...

如果我在上面添加了config.deprecation_stream代码,然后重新运行相同的规范:

  1. 随着规范的运行,弃用警告不再显示在stdout上
  2. 创建文件deprecations.txt,但是
  3. 文件为空。

如何配置Rspec的deprecation_stream以使其按预期工作,例如,将所有弃用警告发送到文件

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)