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

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

RailsTutorial4.0を高速で復習する。4.1章の途中から。

   


さて、4.1章の途中にある、変だなと思っている箇所、

リスト4.4 Homeページのタイトル確認用にテストを更新する。
リスト4.5 ページタイトルをカスタマイズせずに表示するHomeページ。

です。

これは、
リスト4.4で、
it “should not have a custom page title”
というテストケースを追加しています。理由は、自作ヘルパーメソッドfull_titleで、
カスタマイズしたページの場合、:titleが空であることを書いているからです。その場合に対応したテストケースを書いています。

なので実行すると当然エラーです。だってカスタマイズしたページは今ないですから。

なので、わざわざリスト4.5で、homeページのprovide(:title, ‘Home’)を削除し、カスタマイズページにして、テストを通しています。

homeのタイトルから”|HOME”を削除するって、変ですよね??

、、、

と思っていましたが、今気づきました。Homeページは最終的にこのサービスのトップページになります。だから、|Homeは無くていいんです。サブページじゃないので。

あーすっきりした。
というわけでリスト4.4と4.5を実行します。

カスタマイズしたページのテストを書く

リスト4.4 Homeページのタイトル確認用にテストを更新する。Homeのタイトルはbaseタイトルだけになるので、タイトルのテストを書き換え、追加します。
spec/requests/static_pages_spec.rb

require 'spec_helper'

describe "静的ページのテスト" do
  let(:base_title) { "Ruby on Rails Tutorial Sample App" }

  describe "Homeページのテスト" do
    it "コンテンツに'Twili'という文字がある" do
      visit '/static_pages/home'
      expect(page).to have_content('Twili')
    end
    it "トップページのタイトル(サブタイトルがない)" do
      visit '/static_pages/home'
      expect(page).to have_title("#{base_title} ")
    end 
    it "カスタマイズしたページのタイトル(タイトルにHomeがない)" do
      visit '/static_pages/home'
      expect(page).not_to have_title('| Home')
    end  
  end
以下略

試験を実行すると、

bundle exec rspec spec/requests/static_pages_spec.rb

1) 静的ページのテスト Homeページのテスト カスタマイズしたページのタイトル(タイトルにHomeがない)
Failure/Error: expect(page).not_to have_title(‘| Home’)
expected #has_title?(“| Home”) to return false, got true

エラーになります。

Homeページをカスタマイズしてしまう

ゆくゆくはHomeページはトップページになるので、タイトルに|Homeいりません。なので削除します。他の静的ページにこの変更を加えていないのがミソですね。

リスト4.5 ページタイトルをカスタマイズせずに表示するHomeページ。
app/views/static_pages/home.html.erb

<h1>Twiliサービスへようこそ</h1>
<p>
This is the home page for the
  <a href="http://railstutorial.jp/">Ruby on Rails Tutorial</a>
sample application.
</p>

<% provide(:title, 'Home') %>を削除しました。
試験を実行すると、

bundle exec rspec spec/requests/static_pages_spec.rb

9 examples, 0 failuresで成功しました。

ここでいったんcommitしておきます。
つぎは、4.2文字列(string)とメソッド、です。

 - テクニカル ,

Message

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

  関連記事

no image
wordpressはじめます

ブログを立ち上げるのは久しぶりです。 以前から、ブログメディアをやりたいと思って …

no image
iPhone充電3回分?大容量バッテリーで残念がなくなりました

iPhoneは便利なので、一日中使いっ放しの日がよくあります。iPhoneがあれ …

no image
MacBookAirにMacAppStoreからソフトをダウンロード

MacBookAir 10日目。快調です。 WindowsからMacの移行でつま …

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

第6章ユーザーのモデルを作成する。です。ここから開発っぽくなってきます。って今ま …

ラクダと蛇(キャメルとスネーク、Camel&Snake)

蛇。 いきなりラクダと蛇ってなんぞやー!と思う人と、あ、それかと思う人。後者はプ …

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

10.2マイクロポストを表示する、です。 ポストの投稿ではなく、表示だけを先に作 …

BD再生のオープンソース

メディアはシリコンすら持ちたくない主義なのですが、どうしてもBluelay Di …

詳解 Objective-C 2.0 第3版 CHAPTER4 オブジェクトの型と動的結合

CHAPTER4は「オブジェクトの型と動的結合」なんだけど、 動的結合ってなに? …

詳解 Objective-C 2.0 第3版 CHAPTER3 継承とクラス

[]多用といいメッセージキーワードといい、やっぱObjective-Cってキモチ …

no image
浅田真央ちゃんは今シーズンが最後!テレビチューナーにHDつけて録画する!

テレビ見なくなってはや10年以上。ただし、 *真央ちゃんを除く*です。 土曜日に …