Rails5 で factory_bot をインストールする
Ruby Ruby on Rails
Published: 2019-06-02

やったこと

Rails5 で factory_bot をインストールします。

rspec はインストール済みです。

確認環境

$ ruby --version
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]

$ rails --version
Rails 5.2.3

$ gem list | grep rspec-rails
rspec-rails (3.8.2)

調査

Gem のインストール

Gemfile

group :development, :test do
  ...
  gem 'factory_bot_rails'
end
$ bundle install

Factory Bot の設定

spec/rails_helper.rb

RSpec.configure do |config|
  ...
  config.include FactoryBot::Syntax::Methods
end

データ定義

spec/factories/tasks.rb

FactoryBot.define do
  factory :task do
    sequence(:name) { |n| "NAME#{n}" }
  end
end

テスト記述

spec/models/task3_spec.rb

require 'rails_helper'

RSpec.describe Task, type: :model do
  before do
    @task = build(:task)
  end

  it 'テスト1' do
    p @task.name
  end

  it 'テスト2' do
    p @task.name
  end

end

テスト実行

$ bundle exec rspec spec/models/task3_spec.rb -f d

Task
"NAME1"
  テスト1
"NAME2"
  テスト2

Finished in 0.00557 seconds (files took 0.86627 seconds to load)
2 examples, 0 failures

参考