rails升级到4.2.8后无法记录"render_template.action_view"事件

Dan*_*ker 1 json rspec ruby-on-rails ruby-on-rails-4 ruby-on-rails-4.2

我正在升级主要服务于JSON的rails应用程序.我能够升级到的最后一个工作版本是4.1.升级到4.2后,请求在测试日志中产生奇怪错误的规范:

Could not log "render_template.action_view" event. NoMethodError: undefined method `render_views?' for #<Class:0x007fe544a2b170>
Run Code Online (Sandbox Code Playgroud)

在某处我读到这是因为rails尝试渲染不存在的视图.在跳到rails 4之前,我们设置好了headers['CONTENT_TYPE'] = 'application/json'一切.我读到这不再适用于rails 4.我已经尝试添加format: :json,如下所示:将Rspec默认GET请求格式设置为JSON,这没有帮助.

如何获得规格再次运行的任何帮助将不胜感激.

Dan*_*ker 7

事实证明,如果rspec配置块中缺少include,则会发生此错误.添加

RSpec.configure.include RSpec::Rails::ViewRendering
Run Code Online (Sandbox Code Playgroud)

解决了这个问题.