やったこと
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