心はいつも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

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

  関連記事

パーフェクトRuby 1章Rubyの概要

メタプログラミングRubyもいいのですが、余計な物語仕立てがどうも性に合わず、消 …

no image
RailsGirlsMore!でRailsTutorialのキモチワルイところがスッキリしました

RailsGirls松江からのぉ〜東京More!*既に2回目から1ヶ月半。またま …

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

7.1.2ユーザーリソース、です。 /user/newを/signupで表示させ …

WordPressの管理画面真っ白問題に対処しました

WordPressの自作テンプレを作ったはいいものの、管理画面が真っ白になって投 …

OpneSSL,Readline,Libyamlをインストールする

先ほどインストールしたHomebrewを使って、rbenvをインストールしたいと …

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

静的ページにaboutというページを追加するのですが、rails gを先にするの …

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

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

no image
RailsTutorial4.0を高速で復習する。5.6章。演習1問目。

5.6演習です。 一問目。 リスト5.28の静的ページのテストコードは簡潔ですが …

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

5.3.4RSpecを洗練させる、です。 確かに、名前付きルートに書き換えていて …

WindowsキーボードをMacで使う

キーボード難民です。Mac miniでApple純正のキーボードを使っていました …