2011-06-18 8 views
1

これは奇妙です。今朝私のワークステーションを見て、rspec spec /を実行して、ここに表示するエラー出力を試してみると、すべてのテストが成功します!私はソースのどれも変更していないし、設定や設定で何か変更したとは思わない(私はマックには新人だが、ツールの多くは煙や鏡のようなものだ)。rspecは失敗します。ルートは正常に動作します。何が起きていますか? - 問題がなくなった

今私は何かを知っている位置にいますでしたが間違っていましたが、何がわからないのですか、それは今すぐOKですが、なぜわかりません。

私はマシンが目が覚めた、と私は将来的に原因不明の障害が発生し得る場合、私は同様の修正を促すことができることを願っていたときに殺され、再起動、一晩またはしまったいくつかのプロセスがあったと仮定するつもりです。

今議論の余地があるどのような次...私は5つの簡単なルートと5つのテストを持っているチュートリアルを作業する

はちょうど正しいページがコンテンツにタイトルをチェックして返されることを証明しています。すべてのルートはブラウザ経由で完全に動作しますが、rspecは3が失敗することを示します。

これらは私のルートです...

match '/contact', :to => 'pages#contact' 
match '/about', :to => 'pages#about' 
match '/help', :to => 'pages#help' 
match '/signup', :to => 'users#new' 
root :to => 'pages#home' 

RSpecのは/連絡先/程度および/ヘルプすべてはサインアップが適切なページを取得/ルート・ページ(間違った)を得るが、ことを示しています。 /ホームページも手に入ります。

私のチュートリアルブックには、これ以上の詳細はなく、単にコード例が動作することを期待しています。

生成されたサイトは正常に動作します。OKではありません。私はチュートリアルを続けることができますが、テストを無視するという習慣にgtを入れたくないのです。

誰でも次のステップを提案できますか?

私のテスト...

require spec_helper 
    describe "LayoutLinks" do 
    . 
    it "should have a contact page at '/contact'" do 
    get '/contact 
    response.should have_selector('title', :content => "Contact") 
    end 
    . 
    it "should have a signup page at '/signup'" do 
    get '/signup' 
    response.should have_selector('title', :content => "Sign up") 
    end 
end 

私のコントローラ...

class UsersController < ApplicationController 
    def new 
    @title = "Sign up" 
    end 
end 

class PagesController < ApplicationController 
    def contact 
    @title = "Contact" 
    end 

    def home 
    @title = "Home" 
    end 
    . 
    . 

end 

私application.html.erbは

<title><%= @title %></title> 

があり、各ビューは独自の称号を与えられていますヘルパーによって

module ApplicationHelper 
    def title 
    base_title = "Ruby on Rails Tutorial Sample App" 
    if @title.nil? 
     base_title 
    else 
     "#{base_title} | #{@title}" 
    end 
    end 
end 
+0

テストコードを表示するには、経路が問題ないためです。 – nmunson

答えて

0

sporkをお使いですか?その場合は、ルート(およびその他の基本設定)を変更するときに、変更を反映するためにルートを再起動する必要があります。

関連する問題