0
0

More than 3 years have passed since last update.

FactoryBotについて

Posted at

今回が初めての投稿になります、自分の中で理解できたことなどを書いていこうと思います。
今回はテストコードのFactoryBotについて書いていきます。
FactoryBotとは簡単にいうとインスタンスをまとめてくれるGemです。

テストコードを書いていて it "~"とexampleをかなりの量を書くことがあり、その度にテーブルの情報を変数に代入する記述を書くのはかなり大変なのでそれを改善するためにFactoryBotは用いられます。
これを用いるにはまず別のファイルで各クラスのインスタンスに定める値を設定しておき、各テストコードで使用していきます。

例えとしてあるユーザーの情報をインスタンス生成するとしたら
user = User.new(nickname: "A", password: "qwer")
このような記述を毎回書くのは非効率ですのでFactoryBotを利用します。すると
user = FactoryBot.build(:user)と短く書くことができます。ですがこれでも毎回書かないのでインスタンス変数を利用するとさらに記述量が少なくなります。
@user = FactoryBot.build(:user)と設定して各テストコードに記述するときは
@user.nicknameと短く書くことができます。

FactoryBotを用いることによってよりプログラムが見やすい形になると思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0