Ответ 1
rake db:test:prepare
все еще существует, хотя он не отображается в rake -Tdb
. Думаю, команда Rails решила уничтожить вывод rake -T
?
Есть ли команда rake в Rails 3 для клонирования данных моей базы данных разработки? Я заметил, что rake db:test:prepare
и rake db:test:clone
упоминаются в разных блогах, но их запуск ничего не делает. Кроме того, rake -T
не показывает случаев db:test
. Я прибегал к загрузке дампа sql, но было бы здорово, если бы я мог просто клонировать существующие данные разработки для современного тестирования.
РЕДАКТИРОВАТЬ -
Я хочу протестировать базу данных, так как я имею дело с устаревшими данными, которые я запускаю через фильтры модели при доступе. Фабрики не будут работать для меня в этом контексте, поскольку данные, прошедшие через create
, определяются как другая схема, чем унаследованные данные.
rake db:test:prepare
все еще существует, хотя он не отображается в rake -Tdb
. Думаю, команда Rails решила уничтожить вывод rake -T
?
Я бы посоветовал вам не клонировать вашу базу данных разработки, а скорее полагаться на фабрики, чтобы дать вам предсказуемые данные, которые вы можете создать для своих точных тестов. Рано или поздно, полагаясь на наличие надежных тестовых данных в базе данных, к которой вы можете получить доступ, будут нарушены ваши тесты. Он также нарушит тесты любого, кто работает над проектом. И изменения/дополнения к данным не распространяются на других разработчиков, как ваши тщательно сконструированные заводы.
Посмотрите на машиниста, FixJour, FactoryGirl и много. Они действительно хорошо решают проблему тестовых данных, и вы проверяете их на контроль версий, чтобы у остальной части вашей команды был доступ к ним.