ぞえの技術めも

Ruby on Rails勉強中

【40日目】【1日20分のRailsチュートリアル】【第5章】演習の3.

Ruby on Railsチュートリアル(第3版)

今日は「5.6 演習」の3.から。

5.6 演習

3. リスト5.36で示すように、Applicationヘルパーで使っているfull_titleヘルパーを、test環境でも使えるようにすると便利です。
(中略)
たとえばベースタイトルに“Ruby on Rails Tutoial”といった誤字があったとしても、このテストでは発見することができないでしょう。
この問題を解決するためには、full_titleヘルパーに対するテストを書く必要があります。そのために、Applicationヘルパーをテストするファイルを作成し、リスト5.38のFILL_INの部分を適切なコードに置き換えてみてください。

まずはfull_titleヘルパーを、test環境でも使えるようにする。

test/test_helper.rb

include ApplicationHelper

test環境でfull_titleヘルパーが使えるようになりました。

ちなみにこれはこの演習の 2. の答えなのかな…?
(full_titleヘルパーなんて覚えてなかった)

test/integration/site_layout_test.rb

    get signup_path
    assert_select "title", full_title("Sign up")

よし、いよいよfull_titleヘルパーに対するテストを書きましょう。
テストのファイルを作成して

$ touch test/helpers/application_helper_test.rb

ファイルを更新。

test/helpers/application_helper_test.rb

(2016/10/05 回答のコードは削除しました)

テスト実行。

$ bundle exec rake test
8 tests, 19 assertions, 0 failures, 0 errors, 0 skips

テストは通りました。
ほんとにこれでいいのかな…。
なんか文字列をそのまま書く場所増えただけでややこしいことになってない…??

演習やってると回答欲しくなりますね。

キリがいいので今日はここまで。
作業時間は【17分】

次は「第6章 ユーザーのモデルを作成する」から!