目的
Railsで作成したアプリにFactoryBot
とFaker
を導入する。
開発環境
macOS: Big Sur
Rubyバージョン: 2.6.5
Railsバージョン: 6.0.0
前提
- アプリ
test-app
が作成されている。
【Rails】簡単な投稿アプリの作成 -
devise
が導入されている。
【Rails】ユーザー管理機能(devise)の導入
手順
FactoryBotとは
インスタンスをまとめることができるGemです。
あらかじめ各クラスのインスタンスに定める値を設定しておき、テストコードで使用します。
Fakerとは
ランダムな値を生成してくれるGemです。
FakerのGitHub
こちらの公式GitHubにもあるように、様々な値が生成可能です。
Gemのインストール
Gemfileを以下のように編集します。
この時、group :development, :test do
の中に記述するように注意してください。
Gemfile
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
gem 'rspec-rails', '~> 4.0.0'
gem 'factory_bot_rails'
gem 'faker'
end
ターミナル
% bundle install
これでインストールできました!
記述法
以下のように記述することができます!
spec/factories/users.rb
FactoryBot.define do
factory :user do
nickname {Faker::Name.initials(number: 2)}
email {Faker::Internet.free_email}
password {Faker::Internet.password(min_length: 6)}
password_confirmation {password}
end
end
最後に
以上で導入は完了です。
Gemでインストールするのみなので非常に簡単に実装できます。
では。