Ruby on rails Rails 3.2.1:在视图中调用未定义的方法会导致测试挂起30+;秒

Ruby on rails Rails 3.2.1:在视图中调用未定义的方法会导致测试挂起30+;秒,ruby-on-rails,haml,rspec2,ruby-on-rails-3.2,Ruby On Rails,Haml,Rspec2,Ruby On Rails 3.2,我正在将我的应用程序从3.0.9升级到3.2.1(ruby 1.9.3-p0、rvm、bundler),但有一件事我还没有找到,那就是这个问题。我有一个控制器等级库(在等级库/控制器中),用于渲染每个示例的视图。它呈现的模板可以有任何未定义的方法(比如在haml中调用“-blahblah”),它会导致测试挂起30秒以上。以下是错误: undefined local variable or method `blahblahblah' for #<#<Class:0x007fa84f76

我正在将我的应用程序从3.0.9升级到3.2.1(ruby 1.9.3-p0、rvm、bundler),但有一件事我还没有找到,那就是这个问题。我有一个控制器等级库(在等级库/控制器中),用于渲染每个示例的视图。它呈现的模板可以有任何未定义的方法(比如在haml中调用“-blahblah”),它会导致测试挂起30秒以上。以下是错误:

undefined local variable or method `blahblahblah' for #<#<Class:0x007fa84f76cc90>:0x007fa849c578c8>

谢谢

我在Github上的Rails问题跟踪器中找到了这个问题的答案(到目前为止,它仍然是一个开放的bug)。问题是,当出现错误时,检查了
ActionDispatch::Routing::RouteSet
的一个实例,这显然导致对象检查其持有的每个项目。因此,RouteSet越大,
#inspect
花费的时间越长。以下是修复方法:

module ActionDispatch
  module Routing
    class RouteSet
      alias inspect to_s
    end
  end
end

有关该错误的更多信息,.

可能会提交一个错误,我可能已经注意到类似于slow to throw的异常。这里有一个相关的问题(名称错误):@Amala谢谢你的建议。我检查了Github上的Rails问题跟踪程序,发现其他人也遇到了问题。其中一位评论者提供了一个补丁,修复了这个问题,我将把它作为这个问题的答案。谢谢你的提示!
module ActionDispatch
  module Routing
    class RouteSet
      alias inspect to_s
    end
  end
end