LoginSignup
1
0

More than 3 years have passed since last update.

【Rails】統合テストによるリンクのテスト【Rails Tutorial 5章まとめ】

Last updated at Posted at 2019-11-26

link_toと名前付きルートで作ったリンクが正常に表示され、機能しているかどうかを統合テストで確認する。
統合テストはアプリケーションの動作をシミュレートするために使用される。

$ rails generate integration_test site_layout

テストの手順

①ルートURL (Homeページ) にGETリクエストを送る
②正しいページテンプレートが描画されているかどうか確かめる
③Home、Help、About、Contactの各ページへのリンクが正しく動くか確かめる

test/integration/site_layout_test.rb
  test "layout links" do
    get root_path
    assert_template 'static_pages/home'
    assert_select "a[href=?]", root_path, count: 2
    assert_select "a[href=?]", help_path
    assert_select "a[href=?]", about_path
    assert_select "a[href=?]", contact_path
  end
assert_select "a[href=?]", about_path

はlink_toによって生成されたaタグを調べている。
?の部分に第二引数のパスが代入される。
countオプションによってリンクの個数も調べることができる。

assert_selectについては別記事にまとめたいと思っているが、分かりやすいサイトを見つけたのでここにメモしておく。
assert_selectの使い方
https://zariganitosh.hatenablog.jp/entry/20080405/1207455670

これ以降、レイアウトに新規のアクションとそのリンクを作成した場合は、このテストに書いていくことになる。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0