重複の可能性:
Rspec テストはパスするはずだが失敗する
このエラーが発生するのはなぜですか?
C:\Sites\sample_app>rspec ?[32m.?[0m?[31mF?[0m?[32m.?[0m?[31mF?[0m?[32m.?]0m?[31mF?[0m]
失敗:
1) PagesController GET 'home' には正しいタイトルが必要です ?[31mFailure/Error:?[0m ?[31mresponse.should have_selector("title",?[0m ?[31mNoMethodError:?[0m ?[31mundefined メソッドhas_selector?' for #<ActionController::TestResponse:0x4162ce0>?[0m
?[36m # ./spec/controllers/pages_controller_spec.rb:14:in
ブロック (3 レベル) ) in '?[0m
2) PagesController GET 'contact' には正しいタイトルが必要です ?[31mFailure/Error:?[0m ?[31mresponse.should have_selector("title",?[0m ?[31mNoMethodError:?[0m ?[31mundefined メソッドhas_selector?' for #<ActionController::TestResponse:0x3eab898>?[0m
?[36m # ./spec/controllers/pages_controller_spec.rb:27:in
ブロック (3 レベル) ) in '?[0m
3) PagesController GET 'about' には正しいタイトルが必要です ?[31mFailure/Error:?[0m ?[31mresponse.should have_selector("title",?[0m ?[31mNoMethodError:?[0m ?[31mundefined メソッドhas_selector?' for #<ActionController::TestResponse:0x3f1ccb0>?[0m
?[36m # ./spec/controllers/pages_controller_spec.rb:41:in
ブロック (3 レベル) ) in '?[0m
5.15 秒で終了?[31m6 例、3 回失敗?[0m
失敗した例:
?[31mrspec ./spec/controllers/pages_controller_spec.rb:12?[0m ?[36m# PagesController GET 'home' には正しいタイトルが必要ですか?[0m ?[31mrspec ./spec/controllers/pages_controller_spec.rb:25?[ 0m ?[36m# PagesController GET 'contact' には正しいタイトルが必要ですか?[0m ?[31mrspec ./spec/controllers/pages_controller_spec.rb:39?[0m ?[36m# PagesController GET 'about' には正しいタイトルが必要ですか? [0m
シード 501 でランダム化
Application_helper.rb
モジュール ApplicationHelper
# Retrun a title on a per-page basic.
def title
base_title = "Ruby on Railys tut sample app"
if @title.nil?
base_title
else
"#{base_title} | #{@title}"
end
end
終わり
Pages_controller_spec.rb
「spec_helper」が必要
PagesController を記述する render_views を行う
describe "GET 'home'" do it "should be success" do get 'home' response.should be_success end
it "should have the right title" do get 'home' response.should have_selector("title", :content => "Ruby on Rails Tutorial Sample App | Home") end end
describe "GET 'contact'" do it "should be success" do get 'contact' response.should be_success end
it "should have the right title" do get 'contact' response.should have_selector("title", :content => "Ruby on Rails Tutorial Sample App | Contact") end end
describe "GET 'about'" do it "should be success" do get 'about' response.should be_success end
it "should have the right title" do get 'about' response.should have_selector("title", :content => "Ruby on Rails Tutorial Sample App | About") end end end
他に何か必要な場合は、追加して感謝します