2

私は Michael Hartl による Ruby on Rails チュートリアルに取り組んでいますが、理解できないテストの失敗が続いています。

これが私が得ている失敗です:

ユーザーページのサインアップページ:

 Failure/Error: it { should have_selector('title', text: full_title('Sign Up')) }
 expected css "title" with text "Ruby on Rails Tutorial Sample App | Sign Up" to return something
 # ./spec/requests/user_pages_spec.rb:11:in `block (3 levels) in <top (required)>'

ここに私のテストファイルがあります:

require 'spec_helper'

describe "User pages" do

  subject { page }

  describe "signup page" do
    before { visit signup_path }

      it { should have_selector('h1',    text: 'Sign up') }
      it { should have_selector('title', text: full_title('Sign Up')) }
  end
end

ここに私の new.html.erb ファイルがあります:

<% provide(:title, 'Sign up') %>
<h1>Sign up</h1>
<p>Find me in app/views/users/new.html.erb</p>

application_helper.rb:

module ApplicationHelper

    # Returns the full title on a per-page basis.
    def full_title(page_title)
      base_title = 'Ruby on Rails Tutorial Sample App'
      if page_title.empty?
        base_title
      else
        "#{base_title} | #{page_title}"
      end
    end
end

application.html.erb:

<!DOCTYPE html>
<html>
  <head>
    <title><%= full_title(yield(:title)) %></title>
    <%= stylesheet_link_tag    "application", media: "all" %>
    <%= javascript_include_tag "application" %>
    <%= csrf_meta_tags %>
    <%= render 'layouts/shim' %>
  </head>
    <body>
    <%= render 'layouts/header' %>
    <div class="container">
      <%= yield %>
      <%= render 'layouts/footer' %>
    </div>
  </body>
</html>

何が間違っているのかわかりません。さらに情報を提供する必要がある場合はお知らせください。

ありがとう。

4

2 に答える 2

7

あなたのテストは「サインアップ」を期待していますが、「サインアップ」に合格しています。「up」という単語の大文字と小文字の違いに注意してください。

于 2012-05-09T01:48:34.963 に答える
0

/app/views/layouts/application.erb.htmlアプリケーション レイアウト ファイル ( ) ファイルを投稿できますか?

よくわかりませんが、そのファイルのyieldセクションにコンテンツを提供しているように見え:titleます-そして、それがアプリケーションレイアウトファイルに置き換えられている場所は、あなたが考えているものではない可能性があります.

つまり、application.erb.htmlファイル内ではセクションがあるように見えますがyield :title、テストが想定したとおりにレンダリングされていない可能性があります。

質問を編集して、アプリケーションのレイアウト (または少なくとも適切なセクション) を追加できますか?

于 2012-05-09T02:08:49.743 に答える