5

Railsアプリをrspec2.10.0+capybara1.1.2でテストしようとしています。これが私のテストファイルです

require 'spec_helper'

    describe AdminPanelController do
      describe "index" do
        it "should have return code 200" do
          visit '/admin'
          page.should have_content "hello"
          #response.status.should be(200)
        end
      end
    end

そしてここにテスト結果があります

 Failure/Error: page.should have_content "hello"
 Capybara::ElementNotFound:
   Unable to find xpath "/html"

私はこの問題についてグーグルで検索しましたが、webratが問題になる可能性があるという情報しか見つかりませんでしたが、このgemはインストールされていません。提案をありがとう。

4

1 に答える 1

15

間違ったタイプのテスト。これは、getやpostなどのメソッドを使用してテストを実行し、spec/controllersフォルダーにあるコントローラーテストのように見えます。capybaraを使用するリクエストの仕様は、spec/requestsにあります。$ rails generate scaffold SomeModelそれぞれがどのように見えるかを確認するために実行します。

上記を理解していても、コントローラーのテストにカピバラを使用したい場合は、describeブロックを変更してください。

describe AdminPanelController, :type => :request do
  ...
end
于 2012-07-17T05:19:25.800 に答える