Railsチュートリアルを進めています。
5.3.4の演習でちょっと引っかかった点があったので個人的メモ。
5.3.4
演習の問題は
footerパーシャルのabout_pathをcontact_pathに変更してみて、テストが正しくエラーを捕まえてくれるかどうか確認してみてください。
です。
想定される動き
FAIL["test_layout_links", SiteLayoutTest, 0.35856600012630224]
test_layout_links#SiteLayoutTest (0.36s)
Expected at least 1 element matching "a[href="/about"]", found 0..
Expected 0 to be >= 1.
test/integration/site_layout_test.rb:10:in `block in <class:SiteLayoutTest>'
1/1: [==================================================================] 100% Time: 00:00:00, Time: 00:00:00
Finished in 0.35955s
1 tests, 4 assertions, 1 failures, 0 errors, 0 skips
このように、aboutへのリンクが無いためにFailするはず。
実際に起こった動き
Started with run options --seed 51593
1/1: [==================================================================] 100% Time: 00:00:00, Time: 00:00:00
Finished in 0.37173s
1 tests, 5 assertions, 0 failures, 0 errors, 0 skips
Passしてしまいました。
原因
Aboutページへのリンクが演習で書き換えたfooterパーシャルだけでなく、headerパーシャルにもあったからでした。
チュートリアルのコード中では、ヘッダーにはAboutページへのリンクを設定していなかったものの、自分がコピペしたときなのか、それともアレンジを加えたのか(記憶にない)で、Aboutへのリンクがヘッダーとフッターの2箇所にあったのが原因でした。