Я следил за этим руководством по ускорению rspec с помощью spork, и у меня есть коробка win7 x64 с ruby 1.9.2 и rails 3.2.5. Все работает, но тест по-прежнему выполняется медленно. Spork просто мало что делает для Windows, потому что ОС не поддерживает разветвление?
Что еще я могу сделать, чтобы ускорить процесс?
Я также нашел похожий SO-вопроси посмотрел видео Кори Хейнса о быстром тестировании. Мне понравилось видео, но я не могу отделаться от ощущения, что что-то не так, когда состояние наших инструментов (в данном случае медленные тесты из-за времени запуска rails) диктует, как мы структурируем наш код. Если бы этого медленного времени запуска не существовало, была бы нужна его методика? С другой стороны, когда тесты выполняются за 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...