Rspec コードメモ
・通常の書き方(factory-girlなし) user_spec.rb
require 'rails_helper' describe User do describe '#create' do it "is invalid without a email" do #ここはテストの条件式。今回の条件はemailがないと無効になるか user = User.new(nickname: "abe", email: "", password: "00000000", password_confirmation: "00000000") #インスタンスの生成。emailはからの設定 user.valid? #インスタンスを保存する際に「バリデーションにより保存ができない状態であるか」を確かめる expect(user.errors[:email]).to include("can't be blank") #errorsメソッドを利用すると、バリデーションにより保存ができない状態である場合なぜできないのかを確認することができる end end end
・factory-girlあり
require 'rails_helper' describe User do describe '#create' do it "is invalid without a email" do #ここはテストの条件式。今回の条件はemailがないと無効になるか user = User.build(:user, nickname: "") #factory-girlを使い、buildメソッドで記述を省略 user.valid? #インスタンスを保存する際に「バリデーションにより保存ができない状態であるか」を確かめる expect(user.errors[:nickname]).to include("can't be blank") #errorsメソッドを利用すると、バリデーションにより保存ができない状態である場合なぜできないのかを確認することができる end end end