0

ページのタイトルを確認しようとしていますが、次のように失敗しています:

rspec ./spec/controllers/pages_controller_spec.rb:13 # PagesController GET 'home' should have the right title

pages_controller_spec.erb は次のようになります。

render_views

describe "GET 'home'" do
    it "returns http success" do
      get 'home'
      response.should be_success
    end

    it "should have the right title" do
      get 'home'
      response.should have_selector("title",:content => "Home")
    end
  end
4

3 に答える 3

0

house9の内容に基づいて、コントローラーの仕様ではなく、別の場所でビューのタイトルをテストする必要があります。たとえば、specディレクトリ内に「requests」ディレクトリを作成し、そこでページ機能をテストできます。リクエスト仕様の詳細については、以下をご覧ください。

http://railscasts.com/episodes/257-request-specs-and-capybara?view=asciicast

于 2013-02-19T03:18:55.103 に答える
0

:textthis によると、必要ないと思います:content

http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Finders#all-instance_method

それが役立つことを願っています。

于 2013-01-22T03:03:00.017 に答える
0

rspec コントローラー テストはビューをスタブ化するため、コントローラーを分離してテストできます

応答オブジェクトを確認すると、おそらく空白の文字列が含まれています

あなたがテストすべきであるという考え

  • 正しいテンプレートがレンダリングされた場合
  • コントローラーが正しくリダイレ​​クトされた場合
  • コントローラーが正しいモデルを呼び出した場合など...

そうは言っても、テストでビューをレンダリングする場合render_viewsは、記述ブロックで使用します

于 2013-01-22T03:15:47.460 に答える