0

ruby/rspec/capybara/devise を使用してコードをテストするのに苦労しています。私が作成しようとしている簡単なテストは、サインイン用です。有効なユーザー サインインがあり、次のコードで定義されている h1 タグが表示されることを期待しています。

describe "Authentication" do

  subject { page }
  describe "with valid information" do
    let(:user) { FactoryGirl.create(:user) }
    before { sign_in_with user.email }

    it { should have_css('h1', text: "Welcome to the Test") }
  end
end

問題は、私がこれを返すことです:

1) Authentication signin page with valid information 
 Failure/Error: it { should have_css('h1', text: "Welcome to the Test") }
   expected css "h1" with text "Welcome to the Test" to return something
 # ./spec/requests/authentication_pages_spec.rb:34:in `block (4 levels) in <top (required)>'

テストが期待したものを見つけられなかったのではなく、テストが h1 で見つけたものを出力する方法はありますか (または、まったく見つけられませんでしたか?)。私の sign_in メソッドが機能していない可能性は十分にありますが、sign_in_with の実行後にテストで何が表示されるかわからないため、それを検証できません。

役立つ場合は、より多くのコンテキストを提供していただきありがとうございます。

編集 テストの対象を反映するようにコードを更新しました。

4

2 に答える 2

1

... sign_in_with の実行後にテストで何が表示されるかわかりません。

次のコマンドを使用して、現在のページのスナップショットを開くことができますsave_and_open_page

describe "with valid information" do
  let(:user) { FactoryGirl.create(:user) }
  before { sign_in_with user.email }

  it { save_and_open_page; should have_css('h1', text: "Welcome to the Test") }
end
于 2013-04-08T07:59:50.023 に答える