2016-04-29 10 views
0

Ich habe viele langsame Minitest Tests für Rails App (3-4 Minuten auf einem Test). Ich möchte sie profilieren, um zu lernen, wie sie behoben werden können.Profiling von Ruby Minitest Tests

Ich habe versucht, Standard Ruby Profiler und Ruby-Prof zu verwenden - keiner funktionierte. Standard-Ruby-Profiler-Profile ... etwas, aber es druckt seine Ergebnisse, bevor Tests ausgeführt werden, und ich bekomme keine Informationen über sie. Ruby-prof hängt einfach meine Tests, wenn ich RubyProf.start in den Test einbeziehe.

Das Internet ist voll von Ratschlägen zur Profilerstellung von Rails-Apps. Hovever, ich habe keine Anleitung für das Profiling gefunden Tests für Rails apps. Bitte helfen Sie mir, die richtige Strategie für das Testprofiling zu wählen!

Antwort

2

Ich konnte das Profil erfolgreich zu meinen Komponententests hinzufügen, indem ich require 'profile' oben in meine Testdatei einfügte. Es hängt am Anfang (vielleicht für 30 Sekunden), wenn es eingerichtet wird, aber nach den Tests lief eine detaillierte Ausgabe darüber, wie viel Zeit in verschiedenen Funktionen verbracht wurde.

Ich führte die Tests von der Befehlszeile mit ruby -rprofile -I"lib:test" <test filepath>.