Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
OrganizationAdvent CalendarQiitadon (β)
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

FactoryGirl - こうしたいときはこうする

More than 5 years have passed since last update.


  • association 先に別の FactoryGirl を指定する
  • strategy に注意
    • id がふられないと困るものには create、そうでないものには build を指定する

モデル build 直後にある処理を行い、属性値を決めたい

  • fter_build コールバックを使え

モデル create 直後にある処理を行い、属性値を決めたい

  • after_create コールバックを使え


  • inheritance を使え


  • trait を使え


  • ignore を使え


  • モデルの正当性を保つために最低限必要な関連先モデルは自動で作成
  • その他テストのごとに必要な関連が変わる場合には、何を持つかという情報を trait で指定する
  • 作成時に引数を渡すことで変更できると特に便利な属性値は、ignore な属性値を利用し、どの FactoryGirl 定義上からでも同じインターフェイスで指定できるようにしてある
  • inheritance でモデルの種類を決め、trait で調整して望みの状態を指定する
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away