Я следил за этот учебник по ускорению rspec со spork, и я нахожусь в коробке win7 x64 с ruby 1.9.2 и рельсами 3.2.5. Все работает, но тест все равно выполняется медленно. Разве spork просто не делает много на окнах, потому что ОС не поддерживает forking?
Есть ли что-нибудь еще, что можно сделать, чтобы ускорить процесс?
Я также нашел этот похожий вопрос SO и наблюдал за видео от Corey Haines по быстрому тестирование. Мне понравилось видео, но я не могу не чувствовать, что что-то не работает, когда состояние наших инструментов (медленные тесты из-за времени запуска рельсов, в данном случае) диктует, как мы структурируем наш код. Если бы это медленное время запуска не существовало, была ли бы необходимость в его методах? С другой стороны, когда тесты проходят 10-30 секунд, многие из преимуществ TDD теряются, и я вижу его точку зрения.
В случае, если это актуально, здесь консольный вывод из spork как rspec выполнялся пару раз:
$ 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...