[railstutorial]5.3.4 リンクのテストが通らない
3262 ワード
TL;DR
sample_app/app/views/layouts/_footer.html.erb
を確認して
余計なシングルクォーテーションがついていないかチェックする。
得られた教訓
「コードは間違っていないはずなのになぜかうまくいかない」ときは、
たいてい文字ではなくて記号の過不足が原因。
問題点
5.3.4「リンクのテスト」のリスト5-32「レイアウトのリンクに対するテスト」においてテストが通らない。
状況
console
rails test:integration
↓
1) Failure:
SiteLayoutTest#test_layout_links [/foobar/sample_app/test/integration/site_layout_test.rb:10]:
Expected at least 1 element matching "a[href="/about"]", found 0..
Expected 0 to be >= 1.
1 runs, 4 assertions, 1 failures, 0 errors, 0 skips
解決までにしたこと
- consoleに
rails s
を打ち込む
- http://localhost:3000/ にアクセスする
- ページ上のAboutをクリックする
- Routing Errorが発生
-
sample_app/app/views/layouts/_footer.html.erb
を確認
sample_app/app/views/layouts/_footer.html.erb
<footer class="footer">
(省略)
<nav>
<ul>
<li><%= link_to "About", 'about_path' %></li>
<li><%= link_to "Contact", 'contact_path' %></li>
(省略)
</ul>
</nav>
</footer>
原因
console
rails test:integration
↓
1) Failure:
SiteLayoutTest#test_layout_links [/foobar/sample_app/test/integration/site_layout_test.rb:10]:
Expected at least 1 element matching "a[href="/about"]", found 0..
Expected 0 to be >= 1.
1 runs, 4 assertions, 1 failures, 0 errors, 0 skips
- consoleに
rails s
を打ち込む - http://localhost:3000/ にアクセスする
- ページ上のAboutをクリックする
- Routing Errorが発生
-
sample_app/app/views/layouts/_footer.html.erb
を確認
sample_app/app/views/layouts/_footer.html.erb
<footer class="footer">
(省略)
<nav>
<ul>
<li><%= link_to "About", 'about_path' %></li>
<li><%= link_to "Contact", 'contact_path' %></li>
(省略)
</ul>
</nav>
</footer>
原因
link_toメソッドの第2引数に名前付きルートを与えたときに
誤ってシングルクォーテーション(')をつけたままにしていたから。
対策
sample_app/app/views/layouts/_footer.html.erb
<footer class="footer">
(省略)
<nav>
<ul>
<li><%= link_to "About", about_path %></li>
<li><%= link_to "Contact", contact_path %></li>
(省略)
</ul>
</nav>
</footer>
sample_app/app/views/layouts/_header.html.erb
<header class="navbar navbar-fixed-top navbar-inverse">
<div class="container">
<%= link_to "sample app", root_path, id: "logo" %>
<nav>
<ul class="nav navbar-nav navbar-right">
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "Help", help_path %></li>
(省略)
</ul>
</nav>
</div>
</header>
sample_app/app/views/layouts/_footer.html.erb
<footer class="footer">
(省略)
<nav>
<ul>
<li><%= link_to "About", about_path %></li>
<li><%= link_to "Contact", contact_path %></li>
(省略)
</ul>
</nav>
</footer>
sample_app/app/views/layouts/_header.html.erb
<header class="navbar navbar-fixed-top navbar-inverse">
<div class="container">
<%= link_to "sample app", root_path, id: "logo" %>
<nav>
<ul class="nav navbar-nav navbar-right">
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "Help", help_path %></li>
(省略)
</ul>
</nav>
</div>
</header>
Author And Source
この問題について([railstutorial]5.3.4 リンクのテストが通らない), 我々は、より多くの情報をここで見つけました https://qiita.com/8rine23/items/3337161d50a726f1b37c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .