【残39日】未経験からのプログラミングスクール 「単体テストコード」
現在プログラミングスクールに通い
70日間でWEBエンジニアになれるよう
勉強中です!
本日は単体テストを実装していて躓いた箇所について
書きたいと思います。
もし同じような箇所で悩んでいる方にとって
なにかしらヒントになれれば幸いです。
◆ケース① エラーメッセージとincludeを合わせる
User#create emailに@がないと登録できないこと
Failure/Error: expect(@user.errors.full_messages).to include("Email can't be blank")
expected ["Email is invalid", "Email is invalid"] to include "Email can't be blank
赤字の箇所がエラーの原因であり、
エラー内容とinclude以下のエラー内容が違うためエラーが発生。
記述を同じにすれば解決です。
◆ケース② バリテーションが設定されてない
User#create passwordが半角英数字混合でないと登録できないこと
Failure/Error: expect(@user.errors.full_messages).to include("Password is invalid")
expected to include "Password is invalid"
赤字のにエラー文が入ってないことから
バリテーションが設定されてないことが原因でした。
◆最後に
今回エラーが起きた箇所ですが
今考えてみると「なんで躓いていたんだろうか」という気持ちです笑