私は 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 には、応答に示されている他のすべての情報が含まれているわけではないことに注意してください。
どうしてそれが起こり得るのか、私は困惑しています。アプリを実行して、タイトルが正しいことを確認しました。
何か案は?
-マイケル