Śledziłem this tutorial on speeding up rspec with spork, a ja jestem na pudełku win7 x64 z rubinem 1.9.2 i szynami 3.2.5. Wszystko działa, ale test nadal działa powoli. Czy po prostu nie robi się zbyt dużo na oknach, ponieważ system operacyjny nie obsługuje rozwidlania?Rspec wciąż wolno w Windows nawet ze Sporkem
Czy mogę jeszcze coś zrobić, aby przyspieszyć działanie?
Ja także found this similar SO question i obejrzałem video by Corey Haines on fast testing. Podobało mi się wideo, ale nie mogę oprzeć się wrażeniu, że coś jest nie tak, kiedy stan naszych narzędzi (powolne testy z powodu czasu uruchamiania szyny, w tym przypadku) dyktuje, jak budujemy nasz kod. Gdyby ten wolny czas startowy nie istniał, czy byłaby potrzeba jego metod? Z drugiej strony, gdy testy trwają 10-30 sekund, traci się wiele korzyści z TDD, że widzę również jego punkt widzenia.
W przypadku jest to istotne, oto wyjście konsola z Spork jak rspec został wykonany kilka razy:
$ 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...
Ile przykładów trwa 30 sekund, aby uruchomić? Spork nie pomoże ci przyspieszyć czasu twoich testów. Sprawi, że będą działać w znacznie krótszym czasie. – jdoe
Mówiłem ogólnie. W moim przykładzie jest tylko jeden test, który sam w sobie wykonuje się w ułamku sekundy, ale trwa 5-10 sekund, aby faktycznie uruchomić, w tym czas ładowania szyn – Jonah
Bieganie szpiegowania w oknach jest bezużyteczne, dlaczego to robisz? Nic nie pomoże ci, ruby w oknach jest powolne, a większość narzędzi to tylko linux/mac. Jeśli zdecydujesz się wejść w okna, musisz zaakceptować fakt, że Ruby jest w tym miejscu dość urocza. –