Я бы предложил посмотреть на factory_girl , замену приспособления. Вместо того, чтобы вручную создавать данные для загрузки в таблицу, factory_girl использует ваши модели и ассоциации для создания тестовых данных. Пример фабрики из вики :
FactoryGirl.define do
factory :user do
first_name 'John'
last_name 'Doe'
age { 1 + rand(100) }
end
factory :admin, :parent => :user do
admin true
end
end
Затем, после настройки ваших тестов на использование factory_girl, вы можете просто использовать следующее для создания моделей:
# Saved instance
user = create(:user)
# Unsaved instance
user = build(:user)
Если вам необходимо создать большие объемы данных, которые используются повторно для нескольких тестов, вы можете заключить все вызовы factory_girl в метод test_helper, к которому могут обращаться несколько тестов.