今日、私のレールアプリケーションの機能テストを書き始めました。私はRESTful認証プラグインを使用します。私は誰かが私のために明確にできることを願って、混乱しているものをいくつか試しました。RESTful認証プラグインを使用したRuby on Rails機能テスト
1)私のレールアプリの機能のほとんどが認証を必要とするため、クイックログイン機能を書いています。
def login_as(user)
@request.session[:user_id] = user ? user.id : nil
end
私がこの機能で見る問題は、基本的には偽認証です。私はこれについて心配すべきですか?本当の認証方法をどこかでテストしている限り、このルートに行くのは大丈夫です。あるいは、これはひどい練習です。
2)第2の混乱は、私の機能テストのいくつかの場所で、私は完全な認証プロセスが必要であるということです。ユーザーがアクティブになると、do_activateメソッドでユーザーの初期オブジェクトを作成します。それは意味をなさないならば、生徒用アプリケーションのための空白のノートブックオブジェクトとペンオブジェクトの作成に似ています。
私のアプリケーションを適切にテストするためには、ユーザーがそのアクティベーション状態をヒットしてそれらのオブジェクトを作成する必要があります。私は現在、Factory Girlを使ってユーザーを作成し、上記のlogin_as関数を呼び出して認証を偽装しています。
もう1つの選択肢は、完全な認証シーケンスをスキップし、Factory Girlで空白のオブジェクトを作成することです。私は他のどこかで正しい認証をテストすることができました。
あなたはどう思いますか?適切なシーケンスを実行する必要がある場合、以下のコードでdo_activate関数を呼び出すのはなぜですか?
user = Factory.create(:user)
user.active = 1
user.save
ありがとうございました!
[これは私が尋ねた類似の質問です](http://stackoverflow.com/questions/64827/rails-restful-authentication-rspec-how-to-test-new-models-that-require-authen)私は一緒に引っ張ったリンクの束。 – srboisvert