0

FactoryGirl、Rspec、Capybara でログインフォームをテストしようとしています。

を実行してサインアップ フォームをテストFactoryGirl.build(:user)できますが、Factory Girl によって作成されたユーザーに を使用してログインできませんFactoryGirl.create(:user)。これが私の失敗したテストです:

it "logs in a factory girl user" do
      user = FactoryGirl.create(:user)
      visit login_path
      fill_in "Email",    :with => user.email
      fill_in "Password", :with => user.password
      check "Remember me"
      click_button "Log in"
      page.should have_content("Logged in!")
end

を使用FactoryGirl.build(:user)してサインアップ フォームをテストする必要があるようですが、 with を使用FactoryGirl.create(:user)して新しいユーザーをデータベースに保存し、そのユーザーでログイン プロセスをテストする必要があります。しかし、何らかの理由で、そのユーザーをデータベースから取得してフォームに挿入することはできません。save_and_open_pageの後に追加するfill_in "Email" lineと、メール フィールドは空白のままです。

これは Rspec と Factory Girl でテストする適切な方法ではありませんか? 通常のユーザーと管理者ユーザーとしてログインし、カピバラを使用してブラウザーでさまざまな機能をテストできるように、このようにしたいと思います。signup_and_login_userどこで使用するかなどのユーティリティメソッドを作成し、FactoryGirl.build(:user)カピバラでサインアップおよびログインフォームをナビゲートする必要がありますか? 次に、テストでユーザーをログインする必要があるたびに、このメソッドを使用しますか?

4

0 に答える 0