База данных Rake 3 Rake Clone для среды тестирования

Есть ли команда rake в Rails 3 для клонирования данных моей базы данных разработки? Я заметил, что rake db:test:prepare и rake db:test:clone упоминаются в разных блогах, но их запуск ничего не делает. Кроме того, rake -T не показывает случаев db:test. Я прибегал к загрузке дампа sql, но было бы здорово, если бы я мог просто клонировать существующие данные разработки для современного тестирования.

РЕДАКТИРОВАТЬ - Я хочу протестировать базу данных, так как я имею дело с устаревшими данными, которые я запускаю через фильтры модели при доступе. Фабрики не будут работать для меня в этом контексте, поскольку данные, прошедшие через create, определяются как другая схема, чем унаследованные данные.

Ответ 1

rake db:test:prepare все еще существует, хотя он не отображается в rake -Tdb. Думаю, команда Rails решила уничтожить вывод rake -T?

Ответ 2

Я бы посоветовал вам не клонировать вашу базу данных разработки, а скорее полагаться на фабрики, чтобы дать вам предсказуемые данные, которые вы можете создать для своих точных тестов. Рано или поздно, полагаясь на наличие надежных тестовых данных в базе данных, к которой вы можете получить доступ, будут нарушены ваши тесты. Он также нарушит тесты любого, кто работает над проектом. И изменения/дополнения к данным не распространяются на других разработчиков, как ваши тщательно сконструированные заводы.

Посмотрите на машиниста, FixJour, FactoryGirl и много. Они действительно хорошо решают проблему тестовых данных, и вы проверяете их на контроль версий, чтобы у остальной части вашей команды был доступ к ним.