# 導入方法
① Gemfileのgroup :development, :testというグループの中にgem 'rspec-rails', '~> 4.0.0'と記入してbundle install
② % rails g rspec:installとターミナルに打ち込んでRSpecを使用できるようにする
③ .rspecに--format documentationを追記
テストコード
① specディレクトリにFactoryBotのファイルを生成
② テストする単体モデルのモデル.rbを作成
FactoryBotで指定
(例)
spec/factories/users.rb
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
FactoryBot.define do
factory :user do
name {Faker::Name.last_name}
email {Faker::Internet.free_email}
password = Faker::Internet.password(min_length: 6)
password {password}
password_confirmation {password}
end
end
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
例
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
require 'rails_helper'
RSpec.describe User, type: :model do
describe '#create' do
before do
@user = FactoryBot.build(:user)
end
it 'nameとemail、passwordとpassword_confirmationが存在すれば登録できること' do
expect(@user).to be_valid
end
it 'nameが空では登録できないこと' do
@user.name = ''
@user.valid?
expect(@user.errors.full_messages).to include("Name can't be blank")
end
it 'emailが空では登録できないこと' do
@user.email = ''
@user.valid?
expect(@user.errors.full_messages).to include("Email can't be blank")
end
it 'passwordが空では登録できないこと' do
@user.password = ''
@user.valid?
expect(@user.errors.full_messages).to include("Password can't be blank")
end
end
end
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
実行の仕方
bundle exec rspec spec/models/user_spec.rb