Railsチュートリアルを最後まで。第3章 静的ページ・テスト

こんにちは、のまち(@bokunomad)です。

Railsチュートリアル3章は静的ページ作成とテストがメインです。

簡単ページを作って機能が正しく実装されているかの「テスト」を行っていきます。

コード量が増えて機能も複雑になってから致命的なバグが見つかると、修正に手間取ったりすでに手遅れ状態になりかねません。

テストをまめに行うことで致命的な状態を防ぐことが可能となります。

スポンサーリンク

3-1 セットアップ

新規でプロジェクトを作成

Gemfileを編集

gemのインストールおよびアップデート

gitリポジトリの初期化。githubにプッシュ。

helloアクションをApplicationコントローラーに追加

ルートルーティングも設定

最後にコミットしてHerokuにもプッシュ

 

新規作成→初期設定→コミット→プッシュ

新しいアプリケーションを作成した際はここまでがほぼワンセットですね。

次回以降からこの部分の記述は飛ばしていこうと思います。

3.2 静的ページ

masterブランチで作業せずにトピックブランチを作成してそこで作業します。今回は「static-pages」ですね。

ちなみに現在の作業ブランチは↓でチェックできます。※がついてるのが作業ブランチです。

3.2.1 静的ページの生成

「StaticPages」コントローラーを作成して「home」「helop」アクションも一緒に作成。

ここで指定したアクションは自動的にroutes.rbとコントローラーにも記述される。

コミット&プッシュ

3.2.2 静的ページの調整

Home, HelpのHTMLを修正する

3.3 テストからはじめる

テスト実施には「バグの防止」「リファクタリングを安全に行える」「設定やインターフェース作成に役立つ」とメリットは多い。

こまめに小さく進めていく。そのときは遠回りをしているように見えるけど、結果的には無駄な作業をなくすことにつながるということ。

3.3.1 最初のテスト

テストファイルの確認

Home, Help, aboutページ用のテスト

↑の記述はGETリクエストを送信して返ってくればsuccessとするという意味。つまりちゃんとアクセスができるか??というテスト。

この段階では一番下のaboutページは作成していないためテストは失敗になる。

実際にテストを実行。3回テストを回して予想通りに1エラーとなります。

 

正しくテストを回せるようにaboutページを実装します。

view/static_pages/about.html.erbを手動で作成。touchコマンド使うよし、cloud9上から新規作成でも大丈夫。

 

aboutのルーティング設定

 

StaticPagesコントローラーにaboutアクションを追加

 

これでもう一度rails testを実行。うまくいけました。

3.4.3 レイアウトと埋め込みRuby

3つのページには内容が重複しているHTMLが多数あるためコード量を減らすために埋め込みRubyを使用します。

home・help・aboutのそれぞれのページにアクセスした際にhome.html.erb(↓のコード)のHTMLがapplication.html.erb(↑コード)の<%= yield %>に代入されます。

個々のhtml.erbにフルでHTMLを記述する必要がなくなるというわけですね。コード量も減って簡潔かつ見やすいコードを自然に書くことができます。

最後にrails testを一度回しておきます。

3.4.4 ルーティングの設定

ルーティング編集

3.5 最後に

コミット・プッシュ・マージ・デプロイ

まとめ

テストを行うことは早期にバグ発見につながるため非常に重要な項目。繰り返しになりそうなページは埋め込みRubyでコード量の軽減を意識する。

また新機能追加の際はトピックブランチで分けることでマスターブランチに影響を及ぼすことなく開発ができる。

駆け足でしたが第3章終わりです。次は文字列・メソッド・クラスとかのほぼRuby文法な第4章。

それでは、Railsチュートリアルを最後まで。第3章 静的ページ・テストの記事でした。

この記事が気に入ったら
いいね ! しよう

@bokunomadを