У меня есть модель, которая используется несколькими библиотеками, каждая из этих библиотек использует ее по-разному.
На данный момент я создал заводской файл, который содержит несколько подфакторий.Для каждой из моих библиотек существует одна фабрика, потому что каждой библиотеке нужна своя конфигурация моей базовой модели.
Проблема, с которой я столкнулся, состоит в том, что мой файл фабрики слишком длинный, 400+ строк, и я хотел быразделить его на несколько файлов, по одному для каждой библиотеки.
Пока у меня есть что-то вроде этого
# Master file
FactoryBot.define do
factory :my_model do
# Some things
factory :lib_1_test_unit do
# Some other things
end
factory :lib_2_test_unit do
# Some other things
end
end
end
Я попытался определить это так:
# New master file
FactoryBot.define do
factory :my_model do
# Some things
end
end
# Subfile 1
FactoryBot.define do
factory :lib_1_test_unit do
# Some other things
end
end
Но я получил эту ошибку:
неинициализированная константа Lib1TestUnit
Если я заверну свой подфайл 1 с фабрикой: my_model, я получу другую ошибку, потому что могуне определяю его дважды.
Я также пытался включить подфайлы в мастер, но эта работа еще меньше
Есть ли способ достичь того, что я хочу сделать?Или я шел по неверному пути, и, может быть, есть лучшая практика или другой способ проверить один и тот же объект на разных библиотеках?