こんにちは、おーしまです。
今回は FactoryBot についてです。
FactoryBotとは、Ruby on RailsのGemのひとつで、
他のファイルにインスタンスのデータを記述しておくことで、
テストを行う際に簡単に呼び出して使う事ができるというものです。
例でいうと、
名前、性別、年齢
のデータでユーザーを登録しているとしたら、
名前:小島、 性別:男、 年齢:25
という風に、FactoryBotに記述しておく事で、
テストする際にいつでも小島を呼び出してテストさせる事ができるという事です。
(実際は、決まった値だけでテストすると「同じEmailなどは使えない」などをテストする際に
値が重複してしまう事があるため、データの値はランダムで決めます。)
spec/factories/users.rb
FactoryBot.define do factory :user do name {"小島"} sex {"男"} age {"25"} end end
呼び出す際は、下のように記述します。
@user = FactoryBot.build(:user)
(:user)はFactoryBotでデータを定義した時の値が入ります。
buildはnewメソッドのようなもので、FactoryBotではbuild使って生成します。
一般的にインスタンス変数に代入して使用します。
このようにして、
@userには、22歳男性の小島、が入り@userを用いてテストができるようになりました。
今回はここまでです。
それでは、また〜