Ich erstelle einen Rails Performance Test, wie in der Rails Guide beschrieben, und ich habe Probleme mit Ruby-Prof.Fehler mit Ruby-Prof in einem Rails Performance Test
Ich benutze Ruby 1.9.2-p0 (obwohl das gleiche Problem auf P320 erfahren) und Rails 3.1.0.
Ich habe einen ziemlich einfachen Test für einen Controller, der auf this example entspricht.
Nach the guide, ich brauche ruby-prof zu installieren, bevor ich Performance-Tests verwenden kann. Sicher genug, wenn ich ohne sie meine Leistung Test ausführen, erhalte ich:
Specify ruby-prof as application's dependency in Gemfile to run benchmarks.
Wenn ich die Führungsanweisungen zu befolgen, füge ich das meinem Gemfile:
gem 'ruby-prof', :git => 'git://github.com/wycats/ruby-prof.git'
... und bekommen Version 0.11.0 vom wycats Repository. Wenn ich meinen Test laufen bekomme ich diesen Fehler:
/Users/craig/.rvm/gems/ruby-1.9.2-p0/bundler/gems/ruby-prof-ffae61a89553/lib/ruby-prof/abstract_printer.rb:44:in `inspect': undefined method `to_s' for #<Class:0x000001025a3f18> (NoMethodError)
from /Users/craig/.rvm/gems/ruby-1.9.2-p0/bundler/gems/ruby-prof-ffae61a89553/lib/ruby-prof/abstract_printer.rb:44:in `full_name'
...
Aber „wycats“ erscheint nicht die kanonische Github Repo für Ruby-prof zu sein. Die Dokumentation bezieht sich auf rdp (Roger-Pack). Wenn ich diese Repo anstatt:
gem 'ruby-prof', :git => 'git://github.com/rdp/ruby-prof.git'
... ich Version 0.11.2, und diese Fehlermeldung erhalten:
/Users/craig/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.1.0/lib/active_support/testing/performance/ruby.rb:39:in
run': undefined method
values' for [#]:Array (NoMethodError) from /Users/craig/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.1.0/lib/active_support/testing/performance.rb:140:in `run_profile' ...
ich den gleichen Fehler, wenn ich nur das Juwel von rubygems direkt verwenden (wieder, Version 0.11.2):
gem 'ruby-prof'
Irgendwelche Ideen, was falsch läuft, oder wie es zu lösen?
genial! vielen Dank. Wird dieses Patch aus Neugier auf Schienen geschickt? – pjammer