rspec 結合テスト expected: "/" got: "/users/sign_in"

expected: "/" got: "/users/sign_in"

 

結合テスト実行時に”こんなエラーが出た”

 

" got: "/users/sign_in"なので、サインインページでログインがうまくいっていないと推察し、見に行くもわからず。。。

 

そこでログインができない理由を洗い出す。

・バグがあってログインができない

・テスト用のアカウントがデータベースに登録できていない

・行っているフォームが正しくない

 

テスト用のアカウントは登録できているのでクリア!

そこでフォームの見直しをし調べれてるの下記のサイトに辿り着きコード修正し、実行できました。

Rails でトークアプリの作成手順 #結合テストコード | hideo blog

     expect(current_path).to eq root_path
      expect(
        find(".user_nav").find(span).hover
      ). have_content("ログアウト")
      expect(page).to have_no_content("新規登録")
      expect(page).to have_no_content("ログイン")

↓上記コードを削除し、下記コードに変更しエラー解決しました。

 click_on("Log in")