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

最初の記述ブロックの直後。spec/controllers のスペックは、デフォルトではビューをレンダリングしません。

于 2012-08-03T23:17:19.367 に答える