1

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でユーザーをログインさせる最良の方法は何ですか?

4

1 に答える 1

0

add file devise.rbtorspec/support そしてここにコンテンツがあります

RSpec.configure do |config|
  config.include Devise::TestHelpers, :type => :controller
end

問題を解決する別の方法: devise gem を使用した Rails 統合テスト

于 2012-12-16T19:53:08.640 に答える