Кажется, что вы хотите начальные данные . Вы можете создать свой собственный класс seed для кэширования необходимых данных:
class Seeds
def [](name)
all.fetch(name)
end
def register(name, object)
all[name.to_sym] = object
end
def setup
register :publisher_level_1, FactoryGirl.create(:publisher_level, :some_trait)
register :publisher_level_2, FactoryGirl.create(:publisher_level, :some_other_trait)
end
private
def all
@all ||= {}
end
end
А потом в вашем test_helper.rb
позвоните:
require 'path/to/seeds.rb'
Seeds.setup
Наконец, отошлите это на свои фабрики:
factory :company do
publisher_level { Seeds[:publisher_level_1] }
end
Этот код является лишь примером использования, вам придется настроить его так, чтобы он вел себя в соответствии с вашими потребностями.