現在createアクションの時だけ実行するバリデーションを用意しています
この影響でエラーが発生します
validates :nickname,:email,:password,presence: true, on: :create
####Rspec
FactoryBot.define do factory :user do nickname { "test" } email { "test@gmail.com" } password { "test2020" } password_confirmation { "test2020" } end end
user_spec.rb
user_spec.rb
1 2 before do 3 @user = create(:user) 4 end 5 6 context 'nicknameカラム' do 7 it '未入力でないこと' do 8 @user.nickname = '' 9 is_expected.to eq false 10 end 11 end
###エラー
1) User バリデーションテスト nicknameカラム 未入力でないこと Failure/Error: is_expected.to eq false expected: false got: true (compared using ==) Diff: @@ -1 +1 @@ -false +true # ./spec/models/user_spec.rb:19:in `block (4 levels) in <top (required)>'
createアクションのみではなく、常にバリデーションを実行するとエラーは発生しません
こちらがヒントになるのかと読んでみましたが、エラーは変わりません
よろしくお願いします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。