Ich habe this tutorial on speeding up rspec with spork gefolgt, und ich bin auf einer win7 x64-Box mit Ruby 1.9.2 und Schienen 3.2.5. Alles funktioniert, aber der Test wird immer noch langsam ausgeführt. Macht spork unter Windows nicht viel, weil das Betriebssystem kein Forking unterstützt?Rspec noch langsam auf Windows auch mit Spork
Gibt es noch etwas, was ich tun kann, um die Dinge zu beschleunigen?
Ich auch found this similar SO question, und beobachtete die video by Corey Haines on fast testing. Ich genoss das Video, aber ich kann mir nicht helfen zu fühlen, dass etwas aus ist, wenn der Zustand unserer Werkzeuge (langsame Tests aufgrund der Startzeit von Schienen, in diesem Fall) vorschreibt, wie wir unseren Code strukturieren. Wenn diese langsame Startzeit nicht existierte, würde es seine Methoden brauchen? Auf der anderen Seite, mit Tests, die 10-30 Sekunden dauern, gehen so viele Vorteile von TDD verloren, dass ich auch seinen Standpunkt sehe.
Falls es relevant ist, ist hier die Konsolenausgabe von Spork als die rspec ein paar Mal ausgeführt wurde:
$ bundle exec spork
Using RSpec
-- Starting to fill pool...
Wait until at least one slave is provided before running tests...
** CTRL+BREAK to stop Spork and kill all ruby slave processes **
Spork is ready and listening on 8989!
-- Rinda Ring Server listening for connections...
-- build slave 1...
Preloading Rails environment
-- build slave 2...
Preloading Rails environment
Loading Spork.prefork block...
Loading Spork.prefork block...
Running tests with args ["--color"]...
--> DRb magazine_slave_service: 1 provided...
--> DRb magazine_slave_service: 2 provided...
<-- take tuple(2); slave.run...
-- (2);run done
Done.
-- build slave 2...
Preloading Rails environment
Loading Spork.prefork block...
Running tests with args ["--color"]...
<-- take tuple(1); slave.run...
-- (1);run done
Done.
-- build slave 1...
Preloading Rails environment
Loading Spork.prefork block...
--> DRb magazine_slave_service: 2 provided...
Wie viele Beispiele benötigen 30 Sekunden zum Ausführen? Spork wird Ihnen nicht helfen, die Zeit Ihrer Tests zu beschleunigen. Es wird sie in einer viel kürzeren Zeit laufen lassen. – jdoe
Ich habe allgemein gesprochen. In meinem Beispiel gibt es nur einen Test, der selbst in einem Bruchteil einer Sekunde ausgeführt wird, aber dauert 5-10 Sekunden, um tatsächlich zu laufen, einschließlich Schienen Ladezeit – Jonah
Laufen spork auf Windows ist nutzlos, warum machst du es? Es gibt nichts, was Ihnen helfen wird, Ruby auf Windows ist langsam und die meisten Tools da draußen sind nur Linux/Mac. Wenn Sie sich dafür entscheiden, auf Windows zu gehen, müssen Sie nur die Tatsache akzeptieren, dass Ruby ziemlich voll ist. –