letをループの中で呼んでも複数のレコードは作られないが、その中で関数を呼び出した場合は?
code:ruby
describe "test" do
let(:user) { create(:user) }
it "複数人のユーザーができるか" do
3.times do
user
end
expect(User.count).to eq(1) # ユーザは1人しか作られない
end
end
じゃあどうする
let!かcreateをそのまま呼ぶか、FactoryBotでcreate_listとかもあるみたいです。
ただ、関数の中でレコードを処理を作る処理を実施しており、そのレコードの数が指定個数できるか調査したい。
そのため、レコードを直接指定個数作るのはテストになっていない。(関数を10回呼びたい)
letの中で関数を呼んで、それを10回呼び出してもダメだったからまた調べてみよう。ループの中に関数を書いたら動いた。