Тестирование Rails-приложения с большим количеством начальных данных - PullRequest
0 голосов
/ 29 февраля 2012

Я поддерживаю приложение Rails 3.1. В базе данных приложения содержится более 50+ таблиц, и, возможно, 30 из них нуждаются в начальных данных для правильной работы приложения.

Приложение имеет множество статистических данных (в качестве начальных данных), а некоторые таблицы содержат более 150 000 записей. Я тестировал с использованием осветителей (на самом деле с помощью граблей для создания файлов осветителей из dev-db). Из-за огромных файлов фиксации тестирование стало медленнее и медленнее. Мы говорим о 20+ минутах для запуска всего набора тестов.

В то время, когда я начал делать тесты, светильники были в порядке. В настоящее время я не уверен больше. Я продолжаю читать о таких инструментах, как factory_girl, capybara, rspec и spork. Я провел несколько тестов с ними, и они кажутся приятными и забавными в использовании.

По сути, я хотел бы знать, как бы вы протестировали этот тип установки?

Светильники слишком медленные. Спасибо за помощь!

1 Ответ

1 голос
/ 29 февраля 2012

Ну, с таким огромным приложением, как и у вас, набор тестов должен работать очень долго. Я думаю, что самым большим улучшением здесь было бы использование меньшего количества данных тестирования в базе данных.
Вы можете тестировать ассоциации или что-то еще, что вы делаете, связанные с БД, но когда вы тестируете функциональность модели, например, настройте фиктивные ожидания на #save метод и убедитесь, что ваш код изменил @attributes модели. Я думаю, что все тестирование на базе данных является излишним. Вам не нужно включать стек рельсов в качестве цели тестирования (что вы делаете, когда сохраняете в базу данных), так как он уже очень тщательно протестирован.

...