【残39日】未経験からのプログラミングスクール 「単体テストコード」

f:id:ume1017:20200903211318j:plain

 

現在プログラミングスクールに通い

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"

 

赤字にエラー文が入ってないことから

バリテーションが設定されてないことが原因でした。

 

◆最後に

今回エラーが起きた箇所ですが

今考えてみると「なんで躓いていたんだろうか」という気持ちです笑