我正在为即将到来的项目提供对ROR的了解,并通过Rails教程工作,并竞争了第5.3.4节"布局链接测试",而没有任何重大问题。p>据我所知,本节使我感到困惑,我的代码已更改以匹配该教程,因此应该有效。
标题的集成测试工作正常,但是页脚集成测试都无法正常工作。
页面上的链接正在按预期工作,但是测试正在返回(如果评论了关于接触接触测试的AOD测试,则会发生相同的错误)。
我缺少一些很明显的东西,但我无法识别。
我的代码位于我的Bitbucket存储库中
FAIL["test_layout_links", SiteLayoutTest, 1.4785866689999239]
test_layout_links#SiteLayoutTest (1.48s)
Expected at least 1 element matching "a[href="/about"]", found 0..
Expected 0 to be >= 1.
test/integration/site_layout_test.rb:10:in `block in <class:SiteLayoutTest>'
页面中存在链接html
<nav>
<ul class ="nav navbar-nav navbar-right">
<li><a href="/">Home</a></li>
<li><a href="/help">Help</a></li>
<li><a href="#">Log in</a></li>
</ul>
</nav>
<nav>
<ul>
<li><a href="/about">About</a></li>
<li><a href="/contact">Contact</a></li>
<li><a href="http://news.railstutorial.org/">News</a></li>
</ul>
</nav>
site_layout_test.rb
require 'test_helper'
class SiteLayoutTest < ActionDispatch::IntegrationTest
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
end
application.html.erb
<!DOCTYPE html>
<html>
<head>
<title><%= yield(:title) %> | Ruby on Rails Tutorial Sample App</title>
<%= render 'layouts/rails_default' %>
<%= render 'layouts/shim' %>
</head>
<body>
<%= render 'layouts/header' %>
<div class="container">
<%= yield %>
<%= render 'layouts/footer' %>
</div>
</body>
</html>
_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>
<li><%= link_to "Log in", '#' %></li>
</ul>
</nav>
</div>
</header>
_footer.html.erb
<footer class="footer">
<small>
The <a href="http://www.railstutorial.org/">Ruby on Rails Tutorial</a> by
<a href="http://www.michaelartl.com/">Michael Hartl</a>
</small>
<nav>
<ul>
<li><%= link_to "About", about_path %></li>
<li><%= link_to "Contact", contact_path %></li>
<li><a href="http://news.railstutorial.org/">News</a></li>
</ul>
</nav>
</footer>
感谢您抽出宝贵的时间来查看问题。
查看home.html.erb
。您的最后一行关闭页面:</html>
。因此,当您在application.html.erb
中使用它时,页面在创建页脚之前结束。
说...出于某种原因,这不是该页面在浏览器中呈现的方式。好像额外的关闭标签被忽略了。因此,您的页脚实际上显示了。