記事概要
Ruby on RailsのFactoryBot(Gem)について、まとめる
前提
- Ruby on Railsでアプリケーションを作成している
FactoryBotとは
インスタンスをまとめることができるGem
他のファイルであらかじめ各クラスのインスタンスに定める値を設定しておき、各テストコードで使用する
Gemのインストール手順
Gemfileの記述
手順(設定)
- インスタンスの生成を切り出すファイルを作成する
- FactoryBot導入前に、テストコードを記述するファイルを生成
-
spec
配下に、factories
フォルダを手動作成 -
factories
フォルダに、[モデル名の複数形].rb
を手動作成
-
- FactoryBot導入後に、テストコードを記述するファイルを生成
-
spec/factories/[モデル名の複数形].rb
が自動生成される
-
- FactoryBot導入前に、テストコードを記述するファイルを生成
- 上記で作成したファイルを編集
-
Fakerを使い、ランダム値を入力
spec/factories/users.rb
FactoryBot.define do factory :user do nickname {Faker::Name.initials(number: 2)} email {Faker::Internet.email} password {Faker::Internet.password(min_length: 6)} # password_confirmationはpasswordと同じ値なので、「password」を指定 password_confirmation {password} end end
- 固定値を入力
spec/factories/users.rb
FactoryBot.define do factory :user do nickname {'test'} email {'test@example'} password {'000000'} # password_confirmationはpasswordと同じ値なので、「password」を指定 password_confirmation {password} end end
-
Fakerを使い、ランダム値を入力
Ruby on Railsまとめ