4

Capybaraを使用してRspecリクエストスペックを作成しようとしています。Capybaraがページを空白と見なす以外は、すべてが正しく機能しているようです。

良い兆候:

  • ページはブラウザで正常に読み込まれます
  • ログをテーリングすると、テスト実行中に正しいビューがレンダリングされることが示されます
  • ビューに入れたロギングステートメントはすべて実行されます
  • を使用するassert_select "h1", :text => "hello world"と、テストに合格します。

悪い兆候:

  • 私が使うpage.should have_content('hello world')と失敗しますCapybara::ElementNotFound: Unable to find xpath "/html"
  • 私がそうするなら$stdout.puts page.html、それはdoctypeを除いて空です

私のテストは次のようになります。

describe "working with foos" do
  it "should have a 'new foo' form" do
    get '/foos/new'
    assert_select 'h1', text: 'hello world' # passes
    page.should have_content('hello world') # fails
    $stdout.puts page.html                  # empty except for a doctype
  end
end

ここで何が間違っている可能性がありますか?

4

1 に答える 1

7

額を叩く答え

...他の人と同じ痛みを救うために私が共有しているもの。

Capybaraは、このvisitメソッドを使用してページ変数を設定します。

visit '/assembly/manage/task_lists/new'

getカピバラと一緒に使用しないでください:

get '/assembly/manage/task_lists/new'
于 2012-08-17T16:32:14.607 に答える