Angenommen, die Fabrik von "note" ist wie folgt definiert.
factory/notes.rb
FactoryBot.define do
factory :note do
title { 'sample-note' }
description { 'sample-description' }
end
end
Wenn Sie im Test 5 "Note" -Instanzen erstellen möchten, ist es mühsam, eine nach der anderen zu erstellen, wie unten gezeigt.
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
Wenn Sie hier "create_list" verwenden, können Sie Notizeninstanzen auf einmal erstellen.
spec/system/xxx_spec.rb
RSpec.describe 'yyyy' do
notes = create_list(:note, 5)
...
end
Geben Sie im ersten Argument die ursprüngliche Factory und im zweiten Argument die zu erstellende Nummer an.
(Der Teil notes =
kann weggelassen werden)
Übrigens ist es auch möglich, einige der Attribute zu überschreiben.
spec/system/xxx_spec.rb
RSpec.describe 'yyyy' do
notes = create_list(:note, 5, title: 'Hello, World')
...
end
das ist alles.