心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

RailsTutorial4.0を高速で復習する。3.5章。つづき。

   


3.5演習の2もんめをやります。

2.お気付きの方もいると思いますが、リスト3.19に示されている、StaticPagesコントローラのspecテストには若干の重複があります。特に、“Ruby on Rails Tutorial Sample App”というタイトルはそれぞれのタイトルのテストで繰り返し記述されています。引数として渡されたシンボルと同名の変数にブロックの評価値を格納する、RSpecのlet関数を使い、リスト 3.31のようにテストを変更し、テストにパスするようにしましょう。リスト3.31では文字列の式展開 (string interpolation) が行われていますが、これについては4.2.2で紹介します。

いまのStaticPagesコントローラのspecテストを眺める

確かに長いです。。

リスト 3.31を眺める

これ、答えそのものですね。

let(:base_title) { “Ruby on Rails Tutorial Sample App” }
とし、
タイトルのテスト文をそれぞれ
expect(page).to have_title(“#{base_title} | Home”)
expect(page).to have_title(“#{base_title} | Help”)
expect(page).to have_title(“#{base_title} | About Us”)
expect(page).to have_title(“#{base_title} | Contact”)

と変更しています。

base tititleが共通であることがわかるテストコードになりました。
まだ重複箇所はあるけど、リファクタリングは続くのでいまのところこれでいいのしょう。

テストを実施しておきます。8 examples, 0 failuresになります。
commitもしておきます。

最後の問題は次にやります。

 - テクニカル ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
Rails 3.2と4.0、複数バージョンをインストールする

Rubyを複数バージョン入れて切り替えて使える事を確認しました。次はRailsを …

no image
RailsTutorial4.0を高速で復習する。3.5章。最後の問題。

3.5演習、3もんめ、最後の問題です。 3.(上級者向け)「Heroku pag …

初めてのRuby8章 8.4特異メソッドと特異クラス

特異メソッドと特異クラス プログラムなんて、クラスの継承だけで書けてしまうのが良 …

no image
RailsTutorial4.0を高速で復習する。9.3.4章。

9.3.4パーシャルのリファクタリング、です。 テストパスしているのでリファクタ …

no image
RailsTutorial4.0を高速で復習する。3.5章。

3.5章は演習です。3問でています。最初の問題をやります。 1.サンプルアプリケ …

no image
ToDoの管理方法

東大生はノートがきれいだとか、、 きれいに書いている暇があったら、頭に書いて覚え …

no image
Ruby 1.9系をインストールする

Rubyのバージョン管理ができるrbenvをインストールしたらいよいよRubyの …

no image
RailsTutorial4.0を高速で復習する。11.2.4章。

11.2.4[フォローする] ボタン (標準的な方法)、です。 仕様 それぞれの …

no image
RailsTutorial4.0を高速で復習する。10.3章。

10.3マイクロポストを操作する、です。 仕様の理解 ポストはユーザーだけが投稿 …

no image
before_actionが定義してある。

ruby on rails3プリケーションプログラミングの本の内容をruby2. …