LoginSignup
0
0

More than 1 year has passed since last update.

単体テストコードエラー解消方法 

Posted at

テストコードエラーが続いて解消できなかった時のエラーコードと解消方法!!!

  #create
    ユーザー新規登録
      新規登録がうまくいくとき
        全ての値が正しく入力されていれば保存できること
      新規登録がうまくいかないとき
        passwordとpassword_confirmationが5文字以下では登録できない
        nicknameが空では登録できない
        emailが空では登録できない
        emailは@が含まれていなければ登録できない
        passwordが空では登録できない
        passwordが英語のみでは登録できないこと
        passwordが数字のみでは登録できないこと (FAILED - 1)
        passwordが全角では登録できないこと (FAILED - 2)
        first_nameが空では登録できない
        first_nameが漢字・平仮名・カタカナ以外では登録できないこと
        last_nameが空では登録できない
        last_nameが漢字・平仮名・カタカナ以外では登録できないこと
        first_name_kanaが空では登録できない
        first_name_kanaが全角カタカナ以外では登録できないこと (FAILED - 3)
        last_name_kanaが空では登録できない
        last_name_kanaが全角カタカナ以外では登録できないこと (FAILED - 4)
        birthdayが空では登録できない
        passwordが存在してもpassword_confirmationが空では登録できない
        重複したemailが存在する場合登録できない

Failures:

  1) User#create ユーザー新規登録 新規登録がうまくいかないとき passwordが数字のみでは登録できないこと
     Failure/Error: expect(@user.errors.full_messages).to include("Password cannot be registered only with numbers")
       expected ["Password confirmation doesn't match Password"] to include "Password cannot be registered only with numbers"
     # ./spec/models/user_spec.rb:49:in `block (5 levels) in <top (required)>'

  2) User#create ユーザー新規登録 新規登録がうまくいかないとき passwordが全角では登録できないこと
     Failure/Error: expect(@user.errors.full_messages).to include("Password is invalid")
       expected ["Password confirmation doesn't match Password", "Password is invalid. Input half-width characters."] to include "Password is invalid"
     # ./spec/models/user_spec.rb:54:in `block (5 levels) in <top (required)>'

  3) User#create ユーザー新規登録 新規登録がうまくいかないとき first_name_kanaが全角カタカナ以外では登録できないこと
     Failure/Error: expect(@user.errors.full_messages).to include("first name kana is invalid. Input full_width katakana characters.")
       expected ["First name kana is invalid. Input full-width katakana characters."] to include "first name kana is invalid. Input full_width katakana characters."
     # ./spec/models/user_spec.rb:80:in `block (5 levels) in <top (required)>'

  4) User#create ユーザー新規登録 新規登録がうまくいかないとき last_name_kanaが全角カタカナ以外では登録できないこと
     Failure/Error: expect(@user.errors.full_messages).to include("last name kana is invalid. Input full_width katakana characters.")
       expected ["Last name kana is invalid. Input full-width katakana characters."] to include "last name kana is invalid. Input full_width katakana characters."
     # ./spec/models/user_spec.rb:90:in `block (5 levels) in <top (required)>'

Finished in 0.285 seconds (files took 1.07 seconds to load)
20 examples, 4 failures

Failed examples:

rspec ./spec/models/user_spec.rb:46 # User#create ユーザー新規登録 新規登録がうまくいかないとき passwordが数字のみでは登録できないこと
rspec ./spec/models/user_spec.rb:51 # User#create ユーザー新規登録 新規登録がうまくいかないとき passwordが全角では登録できないこと
rspec ./spec/models/user_spec.rb:77 # User#create ユーザー新規登録 新規登録がうまくいかないとき first_name_kanaが全角カタカナ以外では登録できないこと
rspec ./spec/models/user_spec.rb:87 # User#create ユーザー新規登録 新規登録がうまくいかないとき last_name_kanaが全角カタカナ以外では登録できないこと

エラーの原因は、「expectの部分で取得されたメッセージ と includeの部分に記述しているメッセージ が異なるため」

解決方法は

エラーコードのここに注目↓↓↓

expected ["Last name kana is invalid. Input full-width katakana characters."] to include "last name kana is invalid. Input full_width katakana characters."

expectedの後の[]に答え書いてある!!!!

こちらを記載することで解消されました!!!!

※ちなみに、「.」を忘れてもエラーになるので注意!!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0