Мой файл factories.rb
стал слишком большим, чтобы поддерживать его с течением времени, и теперь я пытаюсь разбить его на многие файлы в каталоге factories
. Проблема в том, что я не знаю, как обращаться с зависимостями.
Короче говоря, я пытаюсь разбить свои фабрики следующим образом. Все последовательности идут в файл sequences.rb
, и каждое определение factory переходит в отдельный файл следующим образом:
заводы /sequences.rb
FactoryGirl.define do
sequence :name {|n| "Name #{n}" }
sequence :email {|n| "person#{n}@example.com" }
end
заводы /user.rb
FactoryGirl.define do
factory :user do
name
email
end
end
заводы /post.rb
FactoryGirl.define do
factory :post do
name
content "Post Content"
user
end
end
Когда я запускаю тесты, я получаю name
не определенную ошибку. Я могу справиться с этим, передав блок каждой ассоциации (например, name
, email
, user
и т.д.), Но это кажется уродливым, а не DRY.
- Есть ли способ, чтобы
factory_girl
знать последовательность, в которой файлы должны быть загружены? - для решения сложных зависимостей, когда это невозможно устранить при изменении последовательности загрузки файлов.