0

我是 rspec 的新手,在我的系统(OS X,10.7.4)上运行时遇到了很多麻烦。我终于让 rspec 运行了,但是我在不应该出现错误的时候遇到了错误。

下面的标题标题的简单测试

  it "should have the right title" do
    get 'home'
    response.should have_selector("title",:content=>"YOUniversity Admin Home")
  end

失败:

1) AdminController GET 'home' should have the right title
   Failure/Error: response.should have_selector("title",:content=>"YOUniversity Admin Home")
   expected following output to contain a <title>YOUniversity Admin Home</title> tag:
   <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 # ./spec/controllers/admin_controller_spec.rb:13

该应用程序在运行时会显示正确的标题。然而,布局似乎有一个不同的标题 DOCTYPE 字段。这是布局中的标题:

<!DOCTYPE html>
<html>
<head>
  <title>YOUniversity Admin <%= @title %></title>
<%= stylesheet_link_tag    "application", :media => "all" %>
<!--[if IE 6]<%= stylesheet_link_tag 'ie6' %><![endif]-->
<!--[if IE 7]><%= stylesheet_link_tag 'ie7' %><![endif]-->
  <%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>

请注意,DOCTYPE 不包括响应中显示的所有其他信息。

我很困惑这怎么会发生。我已经通过运行应用程序验证了标题是正确的。

有任何想法吗?

-迈克尔

4

1 回答 1

0

你需要把

render_views

在第一个描述块之后。默认情况下,规范/控制器中的规范不呈现视图。

于 2012-08-03T23:17:19.367 回答