これは奇妙です。今朝私のワークステーションを見て、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
テストコードを表示するには、経路が問題ないためです。 – nmunson