2012-04-02 2 views
0

У меня очень сложная структура данных, в которой данные по приборам загружаются в базу данных по определенному заказу, но я не могу понять, как это сделать.Как я могу определить порядок установки автоматической загрузки в тестовую базу данных

+0

Данные прибора должны быть просто содержимым таблицы. Почему имеет значение, в каком порядке заполняются таблицы? –

+0

Например, твиты были добавлены с помощью user_id (внешний ключ), но в пользовательской таблице вообще нет данных. Это заселение вызовет ошибки, не так ли? – Hillman

+0

Этого не следует делать до тех пор, пока таблица пользователя заполняется в какой-то момент до запуска теста. Ты это пробовал? –

ответ

0

Я предлагаю посмотреть на factory_girl, замену светильника. Вместо того, чтобы вручную создавать данные для загрузки в таблицу, factory_girl использует ваши модели и ассоциации для создания тестовых данных. Пример завода из wiki:

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, к которому можно получить доступ с помощью нескольких тестов.

Смежные вопросы