RSpecを使用してRailsアプリケーションの機能をテストする際にかなりの問題があります。私は会社のコントローラーを持っており、コントローラーにアクセスするためにログインする必要があることを確認するためにdeviseを使用しています。
次に、次のような統合テストを行います。
describe "with valid information" do
before do
fill_in "company_address", with: "My special address"
fill_in "company_name", with: "My User"
fill_in "company_contact_email", with: "test@test.com"
fill_in "company_contact_name", with: "Someone Hello"
end
it "should create a company" do
expect { click_button submit }.to change(Company, :count).by(1)
end
end
もちろん、ログインしているユーザーがいないために失敗します。ここで説明するようなテストヘルパーを作成しようとしましたが、コントローラーではうまく機能しますが、統合テストでは機能しません。
これらのテストの前に、Deviseでユーザーをログインさせる最良の方法は何ですか?