技術系ブログ

とにかく小ネタで

FactoryBotのassociation方法

rspecでモデルのテストを書いているのだかassociationしているpost modelについて書き方がわかったのでメモしておく。

モデル側

class User < ApplicationRecord
  has_many :posts
end
class Post < ApplicationRecord
    belongs_to :user
end

の場合

FactoryBot.define do
  factory :post do
    association :user, factory: :user #この一行を加えるだけでOK
  end
end

あとは今までどうり

RSpec.describe Post, type: :model do
    before do
        @post = FactoryBot.create(:post)
    end
end

でうまいくいく