Michael Hartl による Ruby on rails チュートリアルに従っています。
rspec を使用して単純なテストをリファクタリングすると失敗します。最初に機能するものを貼り付け、次に機能するものを貼り付けます ....
require 'spec_helper'
describe "Static pages" do
describe "Home page" do
it "should have the h1 'Sample App'" do
visit '/static_pages/home'
page.should have_selector('h1', :text => 'Sample App')
end
it "should have the title 'Home'" do
visit '/static_pages/home'
page.should have_selector('title',
:text => "Ruby on Rails Tutorial Sample App | Home")
end
end
describe "Help page" do
it "should have the h1 'Help'" do
visit '/static_pages/help'
page.should have_selector('h1', :text => 'Help')
end
it "should have the title 'Help'" do
visit '/static_pages/help'
page.should have_selector('title',
:text => "Ruby on Rails Tutorial Sample App | Help")
end
end
end
ここで、rspec で失敗したものを貼り付けます
require 'spec_helper'
describe "Static pages" do
let(:base_title) { "Ruby on Rails Tutorial Sample App |" }
describe "Home page" do
it "should have the h1 'Sample App'" do
visit '/static_pages/home'
page.should have_selector('h1', :text => 'Sample App')
end
it "should have the title 'Home'" do
visit '/static_pages/home'
page.should have_selector('title', :text => "#{base_title} Home")
end
end
describe "Help page" do
it "should have the h1 'Help'" do
visit '/static_pages/help'
page.should have_selector('h1', :text => 'Help')
end
it "should have the title 'Help'" do
visit '/static_pages/help'
page.should have_selector('title', :text => "#{base_title} Help")
end
end
end
また、私はこれに慣れていないので、さらに情報が必要になる可能性があることをお聞きしたいと思います...変更は明らかに
let(:base_title) { "Ruby on Rails Tutorial Sample App |" }
助けてくれてありがとう!
失敗エラーは....
失敗:
1) 静的ページ ホームページのタイトルは 'Home' でなければなりません 失敗/エラー: page.should have_selector('title', :text => "#base_title} Home") expected css "title" with text "#base_title} Home"何かを返す # ./spec/requests/static_pages_spec.rb:16:in `ブロック (3 レベル) in '
2) 静的ページ ヘルプ ページのタイトルは 'Help' にする必要があります 失敗/エラー: page.should have_selector('title', :text => "#{base_title} Help") expected css "title" with text "Ruby on Rails Tutorial Sample App | Help」で何かを返す # ./spec/requests/static_pages_spec.rb:29:in `ブロック (3 レベル) in