Можно ли увеличить скорость испытания рельсов? - PullRequest
2 голосов
/ 22 марта 2010

Я недавно перешел на TDD, но по мере того, как моя кодовая база увеличивается в размерах и сложности, я все больше и больше жду загрузки структуры каждый раз, когда хочу запустить тест.

Iя знаю о spec_server rspec, но я использую Test :: Unit с musta.Я попробовал Snailgun (http://github.com/candlerb/snailgun), но заметил очень небольшое увеличение скорости. Я также попробовал spork-testunit (http://github.com/timcharper/spork-testunit), но он не полностью совместим с моими существующими тестами.

Задержкав выполнении тестов это определенная болевая точка, и это отвлекает меня от TDD (по крайней мере, с Rails). Кто-нибудь знает какие-либо другие варианты?

Ответы [ 3 ]

2 голосов
/ 22 марта 2010

Используете ли вы издевательства, где вам нужно?

Вы не упоминаете насмешливые рамки. Вы используете один? Или ваши тесты большие, и они тестируют такие вещи, как вход на веб-серверы или выполнение запросов к базе данных?

Я слышал эмпирическое правило, что модульные тесты должны выполняться примерно 100 в секунду, что исключает подключение к реальным ресурсам и их использование. Тесты, которые обращаются к реальным ресурсам, обычно рассматриваются как интеграционные тесты, и они считаются выполняющимися медленнее, чем модульные тесты.

0 голосов
/ 01 июня 2014

Попробуйте автотест.Он смотрит ваши файлы и запускает их в фоновом режиме.К тому времени, как вы закончите редактирование, оно уже завершит тестирование для просмотра.

gem install autotest-rails
autotest

https://rubygems.org/gems/autotest-rails

http://ph7spot.com/musings/getting-started-with-autotest

0 голосов
/ 22 марта 2010

Вы можете настроить database.yml на использование базы данных SQLite3 в памяти для тестов.

...