Ответ 1
Вы можете создать список, подобный этому (следовательно, создайте сразу x объектов):
FactoryBot.create_list(:model_1, 3)
Документация живет здесь.
В одном из моих тестов rspec я создаю несколько объектов из одного и того же определения фабрики
Например
FactoryBot.create(:model_1)
FactoryBot.create(:model_1)
FactoryBot.create(:model_1)
Есть ли метод, который factory_bot
предоставляет для этого в одну строку
Я знаю, что я могу сделать
3.times {FactoryBot.create(:model_1)}
Но я ищу что-то, что factory_bot
предоставляет для создания нескольких объектов одной модели.
Примечание: FactoryBot изначально назывался FactoryGirl
Вы можете создать список, подобный этому (следовательно, создайте сразу x объектов):
FactoryBot.create_list(:model_1, 3)
Документация живет здесь.
FactoryBot.create_list :factory_name, 2, attribute_name: 'value'
Простой и лучший способ передвижения.
Вы можете игнорировать имена атрибутов, если они не нужны, и использовать вместо них последовательность.
Не уверен, что это было обновлено с момента опубликования ответа, но теперь вы бы сделали следующее
FactoryBot.create_list(:model_1, 3)
Если вам нужно сделать это для модели с проверкой, я смог сделать следующее в своем тесте.
10.times do |i|
create(
:object,
property: i
)
end