Par exemple, supposons que la fabrique de «note» soit définie comme suit.
factory/notes.rb
FactoryBot.define do
factory :note do
title { 'sample-note' }
description { 'sample-description' }
end
end
Lorsque vous souhaitez créer 5 instances note
dans le test, il est difficile de créer une par une comme indiqué ci-dessous.
spec/system/xxx_spec.rb
RSpec.describe 'yyyy' do
let(:note1) { create(:note) }
let(:note2) { create(:note) }
let(:note3) { create(:note) }
let(:note4) { create(:note) }
let(:note5) { create(:note) }
...
end
Si vous utilisez create_list
ici, vous pouvez créer toutes les instances de notes en même temps.
spec/system/xxx_spec.rb
RSpec.describe 'yyyy' do
notes = create_list(:note, 5)
...
end
Spécifiez la fabrique d'origine dans le premier argument et le numéro à créer dans le deuxième argument.
(La partie notes =
peut être omise)
En passant, il est également possible d'écraser certains attributs.
spec/system/xxx_spec.rb
RSpec.describe 'yyyy' do
notes = create_list(:note, 5, title: 'Hello, World')
...
end
c'est tout.