FactoryBotとは

⇒ model のデータに紐づいたテストデータを簡単に作るための gem

spec/factories/xxx.rb で予め各クラスのインスタンスに定めるプロパティを設定しておき、specファイルからメソッドを利用してその通りのインスタンスを作成する。

FactoryBot のメソッド

FactoryBot.create(:factory_name)

**`user = create(:user)

=> id: "1", name: "xxx", email: "xxx"` , etc.**

⇒ レコードを作成するメソッド

FactoryBot.build(:factory_name)

**`user = build(:user)

=> id: nil, name: "xxx", email: "[email protected]"` , etc.**

⇒ インスタンスを作成(new)するメソッド

FactoryBot.attributes_for(:factory_name)

**`params = attributes_for(:user)

=> {:name => "xxx", :email "[email protected]"}` , etc.**

⇒ パラメーターを生成するメソッド(hash形式で返してくれる)

FactoryBot.*_list(:factory_name)

**`user = create_list(:user, 2)

=> id: 1, name: "xxx", email: "xxx@example"

 id: 2, namw: "yyy", email: "yyy@example"` , etc.**

⇒ factory に定義しているデータを配列としてまとめて出力するメソッド

⇒ * にはそれぞれのメソッドが代入できる