</nav></footer>これで、レイアウトに第3章で作成したすべての静的ページへのリンクができました。5.29のようにhelfルーティングを作成し、レイアウトのリンクを更新してみてください。前回の演習と同様に、エディタのUndo機能を使ってこの演習で行った変更を元に戻してみてください。リンクのテストレイアウト内のいくつかのリンクを埋めることができたので、これらのリンクが正しく動いているかどうかチェックするテストを書いてみましょう。ブラウザを立ち上げてルートURLにアクセスし、それぞれのリンクをクリックして確かめることもできますが、変更する度にこの作業を毎回繰り返していくのは大きな負担です。Test)」を使って一連の作業を自動化してみましょう。シミュレートしてテストすることができます。site_layoutというテストのテンプレートを生成するところから始めてみます。いう文字列を追加することに注目してください。今回の目的は、アプリケーションのHTML構造を調べて、レイアウトの各リンクが正しく動くかどうかチェックすることです。具体的には、まずassert_templateメソッドを使って、Homeページが正しいビューを描画しているかどうか確かめます16。5.21でも登場しました)。今回のケースでは、特定のリンクが存在するかどうかを、aタグとhref属性をオプションで指定して調べています。内に特殊記号があればエスケープ処理されます)。これにより、次のようなHTMLがあるかどうかをチェックすることができます。(1つはロゴに、もう1つはナビゲーションバーにあります)。5.30で定義したHomeページのリンクの個数も調べることもできますassert_selectには色々な指定の仕方があります。assert_selectは柔軟でパワフルな機能で、ここでは紹介し切れないほど他にも多くのオプションがあります。経験的には、このメソッドで複雑なテストはしない方が賢明です。テストするぐらいに抑えておくとよいです。5.32で追加した統合テストが通るかどうかは、次のようにRakeタスクを実行することで試すことができます。greenするかどうか確かめてみてください。testレイアウトのリンクをテストする統合テストが追加されたことで、リンクに間違った変更が加えられたらすぐに気付けるようになりました。演習footerパーシャルのabout_pathをcontact_pathに変更してみて、テストが正しくエラーを捕まえてくれるかどうか確認してみてください。5.35で示すように、Applicationヘルパーで使っているfull_titleヘルパーを、test環境でも使えるようにすると便利です。5.36のようなコードを使って、正しいタイトルをテストすることができます。これは完璧なテストではありません。Tutoial」といった誤字があったとしても、このテストでは発見することができないでしょう。この問題を解決するためには、full_titleヘルパーに対するテストを書く必要があります。5.37のFILL_INの部分を適切なコードに置き換えてみてください。<実際の値>といった形で使っていましたが、内部では==演算子で期待される値と実際の値を比較し、正しいかどうかのテストをしています。最初のステップこの節では、レイアウトとルーティングの取り組みにおける頂点として、ユーザー登録ページへのルーティングを作成します。そのために2番目のコントローラを作成することになります。これは、Webサイトでユーザー登録を行えるようにするための最初の重要な一歩となります。次の一歩であるユーザーのモデリングは第6章で行い、第7章でユーザー登録が完成します。Usersコントローラ3.2で、最初のコントローラであるStaticPagesコントローラを作成しました。今度は2番目のコントローラであるUsersコントローラを作成しましょう。持つ、最も簡単なコントローラを作成します。Railsで好まれているRESTアーキテクチャの規約に従い、新規ユーザー用のアクションをnewとします。controllerの引数にnewを渡して、自動的にアクションを作成してみましょう。