ruby-on-rails – 无法从带有rails 3.0.10的回溯RSPEC中找到匹配
发布时间:2020-12-17 01:59:52 所属栏目:百科 来源:网络整理
导读:由于sql注入漏洞,我已更新到3.0.10.我更新后,我运行测试,他们都开始抛出上述错误以及以下行. Failure/Error: Unable to find matching line from backtraceSystemStackError: stack level too deep# /home/part/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3
由于sql注入漏洞,我已更新到3.0.10.我更新后,我运行测试,他们都开始抛出上述错误以及以下行.
Failure/Error: Unable to find matching line from backtrace SystemStackError: stack level too deep # /home/part/.rvm/gems/ruby-1.9.2-p0/gems/activerecord-3.0.10/lib/active_record/connection_adapters/abstract/database_statements.rb:153 解决方法
在将项目从Rails 2.3.8升级到3.2.2时,我在运行Cucumber功能时遇到了类似的错误.几乎没有办法我知道你可以找到这个错误的堆栈跟踪.
在我的例子中,真正的问题是双重包含一个名为rest-client的库,一次作为插件,一次作为gem.它在我的Gemfile中,以及我的vendor / plugins目录中.也许你可以快速检查你的项目是否有类似的东西. 我通过在代码的几个地方使用’raise’的繁琐过程发现了这一点.在导致此错误的rspec语句的执行路径中,将raise方法调用放在不同的位置,例如 raise StandardError,'code did reach here' 通过一些二进制搜索逻辑,这将使您接近罪魁祸首代码.一旦你在那里,使用以下构造来获得堆栈跟踪. begin # culprit code is here rescue Exception => e puts e.message puts e.backtrace.inspect end 这至少对我有用,希望它对你有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |