Skip to content

7_0 / 8_0のテストからassert_templateを削除 - #105

Merged
rakuda-san-desu merged 3 commits into
mainfrom
update_assert_template
Aug 3, 2026
Merged

7_0 / 8_0のテストからassert_templateを削除#105
rakuda-san-desu merged 3 commits into
mainfrom
update_assert_template

Conversation

@rakuda-san-desu

Copy link
Copy Markdown
Contributor

cf. #104

概要

  • Webテキストに合わせ、7_0 / 8_0 のテストで assert_templateassert_responseassert_select に更新
  • 7_0 / 8_0のテストでview_assignsを使うよう更新 #104assigns を置き換え、今回 assert_template も置き換えたため、7_0 / 8_0 から不要になった rails-controller-testing gem を削除

確認

  • テキストに合わせ、動作確認を行いながら 8_0 を更新
  • 同様の内容で 7_0 を更新
  • 各章の環境立ち上げと、第3章以降でテストの実行を確認
  • rg -n "assert_template" 7_0 8_0 で対象コードが残っていないことを確認
  • rg -n "rails-controller-testing" 7_0 8_0 で対象gemが残っていないことを確認
  • git diff --check -- 7_0 8_0 を実行

@rakuda-san-desu

Copy link
Copy Markdown
Contributor Author

@claude 概要を参考に当PRをレビューしてください。

  • 7_0 / 8_0 フォルダのみの対応です
  • 更新内容が適切か
  • 余分な更新が混ざっていないか
  • 更新漏れがないか

@claude

claude Bot commented Aug 3, 2026

Copy link
Copy Markdown

Claude finished @rakuda-san-desu's task —— View job


📋 レビュータスク

  • assert_template の置き換え内容を確認
  • rails-controller-testing gem の削除を確認
  • 余分な変更が混ざっていないか確認
  • 更新漏れがないか確認

レビュー結果

PRを詳細にレビューしました。全体的に適切な更新が行われており、Railsチュートリアルのテキストに合わせた変更として問題ありません。

✅ 良い実装

assert_template の適切な置き換え

assert_template メソッドの置き換えが一貫性を持って適切に行われています:

  1. レンダリング確認の置き換え

    • assert_template 'static_pages/home'assert_response :success + assert_select "title" で確認
    • HTTPステータスとページ固有の要素(タイトル)で正しくテンプレートの表示を確認
  2. リダイレクト後の確認パターン

    # 例: 7_0/ch08/test/integration/users_login_test.rb:26-30
    assert_redirected_to @user
    follow_redirect!
    assert_response :success
    assert_select "title", "#{@user.name} | Ruby on Rails Tutorial Sample App"

    リダイレクト後にタイトルを確認することで、正しいページが表示されていることを保証

  3. エラー時のレスポンス確認

    • assert_template 'users/new'assert_response :unprocessable_entity + assert_select "title"
    • Rails 7のTurbo対応で422 Unprocessable Entityステータスを返すようになった仕様に適合

rails-controller-testing gemの完全削除

  • 全ての章(ch01〜ch14)のGemfileとGemfile.lockから削除
  • 7_0と8_0の両バージョンで一貫して削除
  • 依存関係も適切にクリーンアップ

変更の一貫性

  • 7_0と8_0で同じパターンの変更が適用されている
  • 各章で同じテストファイルに同じ変更が適用されている
💡 提案

テストの可読性向上(オプション)

現在の実装で問題ありませんが、将来的にテストヘルパーメソッドを導入することで、より簡潔なテストが書けるかもしれません:

# test/test_helper.rb に追加(例)
def assert_page_title(expected_title)
  assert_select "title", expected_title
end

# 使用例
assert_response :success
assert_page_title "Sign up | Ruby on Rails Tutorial Sample App"

ただし、これは現在のRailsチュートリアルの範囲を超えるため、今回のPRでは不要です。

最終確認結果

  • 更新内容が適切: assert_template の置き換えパターンは Rails 7/8 のベストプラクティスに従っている
  • 余分な変更なし: 変更は assert_templaterails-controller-testing 関連のみ
  • 更新漏れなし: grep で確認済み、7_0と8_0に残存なし
  • 一貫性: 7_0と8_0で同じパターンの変更が適用されている

このPRはマージして問題ありません。 👍

@rakuda-san-desu

Copy link
Copy Markdown
Contributor Author

こちらもマージします🚀

@rakuda-san-desu
rakuda-san-desu merged commit 0b8d523 into main Aug 3, 2026
1 check passed
@rakuda-san-desu
rakuda-san-desu deleted the update_assert_template branch August 3, 2026 04:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant