1

RoR アプリケーションでテストを書いています。私の static_pages_spec.rb

    # encoding: utf-8

require 'spec_helper'

describe "Static pages" do

  subject { page }

  describe "Home page" do
    before { visit root_path }

    it { should have_selector('h1',    text: 'Giripedia') }
    it { should have_selector('title', text: full_title('')) }
    it { should_not have_selector 'title', text: '| Home' }
  end

  describe "Help page" do
    before { visit help_path }

    it { should have_selector('h1',    text: 'Yardım') }
    it { should have_selector('title', text: full_title('Help')) }
  end

  describe "About page" do
    before { visit about_path }

    it { should have_selector('h1',    text: 'Hakkımızda') }
    it { should have_selector('title', text: full_title('About Us')) }
  end

  describe "Contact page" do
    before { visit contact_path }

    it { should have_selector('h1',    text: 'İletişim') }
    it { should have_selector('title', text: full_title('Contact')) }
  end
end

そして私のspec/support/utilites.rbファイルで

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

base_title = "ギリペディア フォーラム" に変更すると。テストは失敗し、エラーが発生します:

1) Static pages Home page 
     Failure/Error: it { should have_selector('title', text: full_title('')) }
       expected css "title" with text "Giripedia forum" to return something
     # ./spec/requests/static_pages_spec.rb:13:in `block (3 levels) in <top (required)>'

  2) Static pages Help page 
     Failure/Error: it { should have_selector('title', text: full_title('Help')) }
       expected css "title" with text "Giripedia forum | Help" to return something
     # ./spec/requests/static_pages_spec.rb:21:in `block (3 levels) in <top (required)>'

  3) Static pages About page 
     Failure/Error: it { should have_selector('title', text: full_title('About Us')) }
       expected css "title" with text "Giripedia forum | About Us" to return something
     # ./spec/requests/static_pages_spec.rb:28:in `block (3 levels) in <top (required)>'

  4) Static pages Contact page 
     Failure/Error: it { should have_selector('title', text: full_title('Contact')) }
       expected css "title" with text "Giripedia forum | Contact" to return something
     # ./spec/requests/static_pages_spec.rb:35:in `block (3 levels) in <top (required)>'

base_title の変更がテストで失敗し始めるのはなぜですか?

4

1 に答える 1

1

私はここで私の間違いを見つけることができました。これは他の人を助けるかもしれません。

スペックファイルのbase_titleのみを変更しました。しかし、テストされたアプリ/ヘルパーに属するbase_titleを変更することになっていました。

私は知っています、私はテストログをよく読むべきです。

于 2012-06-20T00:41:22.263 に答える