Sah schon this question, und das spiegelt mehr oder weniger, wie ich derzeit meine ganze Suite laufen.Wie führe ich eine volle MiniTest-Suite ohne Rake?
Zusätzlich habe ich Setup die folgende Rake Aufgabe:
Rake::TestTask.new do |t|
t.name = "spec:models"
t.libs << "test"
t.pattern = "spec/models/*_spec.rb"
end
Aber ich merke, wenn ich dies mit time rake spec:models
laufen, dass es in etwa 2,36 Sekunden abgeschlossen ist. Wenn ich alle einzelnen Tests in diesem Verzeichnis unter Verwendung von ruby /path/to/spec.rb
(alle sind derzeit von ActiveRecord isoliert - keine persistance noch, also super schnell), ihre kumulative Gesamtbenutzerzeit ist 2,36 Sekunden, aber ich merke auch, während jede Datei 0,4 nimmt Benutzer Sekunden, um von Anfang bis Ende auszuführen, ist die tatsächliche "Test" -Zeit, die von MiniTest gemeldet wird, viel, viel schneller (so dass meine ganze Suite nach dem Laden von Abhängigkeiten in weniger als 0,15-Sekunden, nicht 2,36 Sekunden ausgeführt werden sollte).
Beispiel (für eine Spec-Datei):
Started
11/11: 100% |======================================| Time: 00:00:00
Finished in 0.02223s
11 tests, 15 assertions, 0 failures, 0 errors, 0 skips
ruby path/to/spec.rb 0.43s user 0.06s system 88% cpu 0.559 total
Ich vermute, dass Rake Bibliotheken zwischen der Ausführung jeden Test nachlädt, und dass für die zusätzliche Zeit für Rechnungswesen. Kann ich das trotzdem bestätigen oder meine ganze Suite ohne Rake laufen lassen?
Btw, wenn ich „Benutzer Zeit“, sagen früher, ich beziehe mich auf die erste Zahl ausgegeben von time
meinem Rubin Befehl vorangestellt wird eine einzige Testdatei ausführen können, so time ruby /path/to/spec.rb
= ruby path/to/spec.rb 0.43s user 0.06s system 88% cpu 0.559 total
Haben Sie jemals eine Lösung gefunden? –