Ответ 1
В Code Shop создается MRI Ruby, оптимизированный для Windows, вы можете найти больше об этом на своем веб-сайте или их Github Repo.
Я также предлагаю вам смотреть этот разговор о разработке приложений rails на Windows
Я следил за этот учебник по ускорению 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...
В Code Shop создается MRI Ruby, оптимизированный для Windows, вы можете найти больше об этом на своем веб-сайте или их Github Repo.
Я также предлагаю вам смотреть этот разговор о разработке приложений rails на Windows
Попробуйте проверить http://railscasts.com/episodes/413-fast-tests. Это показывает множество различных инструментов, которые могут значительно улучшить скорость вашего тестового набора!
Раньше я был так же терпелив, как и любой другой, при выполнении тестов RSPEC с использованием Windows! Выполнение рейка (ов) занимает слишком много времени, и оно не было действительно здоровым. Конечные результаты были отсрочены, потому что разработка в Windows была такой болью. И это правда. Вот почему я перешел на Linux. Но иногда все еще были проблемы с использованием Linux (сложность установки некоторых продуктов и т.д.). Я просто оставался терпеливым, пока не переключился на MAC, что намного лучше.
Если вы действительно согласны в использовании Windows для ROR, тогда запуск тестов будет таким медленным, если есть много модулей для тестирования.
Я также уверен, что тестирование Selenium будет катастрофой в Windows.
Но вы также можете попытаться добавить некоторые другие вещи, например, используя GUARD (для более быстрого выполнения тестовых скриптов), в котором вам не нужно набирать rspec spec
несколько раз.
Смотрите: https://github.com/guard/guard
Для spork, хорошо, я также столкнулся с ошибкой об этом (раньше)... где я тестирую некоторые файлы спецификаций с помощью Linux, а затем это было так медленно, что я действительно ненавидел его использование.
И это реальность.
Посмотрите, как я настроил SPORK для работы с rspec:
spec_helper.rb
Смотрите: https://github.com/xirukitepe/animelist/blob/master/spec/spec_helper.rb
Я бы использовал виртуальную виртуальную машину для такого рода вещей...
Самый большой рост скорости тестирования, который мне удалось получить с RSpec, заключался в том, чтобы он никогда не попадал в базу данных, если это абсолютно необходимо.