一部のコントローラーでは、ログインしているユーザー ( current_user.groups
) に属するグループを使用する必要があります。テストしようとすると; 私はこれを持っていないようcurrent_user
です:
ActionView::Template::Error: undefined method `authenticate' for nil:NilClass
そこで、Devise でその current_user を作成する必要があると考えました。
Devise のドキュメントを読み、 test_helper.rb に以下を追加する必要があると述べています。
class ActionController::TestCase
include Devise::TestHelpers
def setup
@request.env["devise.mapping"] = Devise.mappings[:user]
sign_in FactoryGirl.create(:user)
end
end
ただし、これはうまくいかないようです。実行するたびにrake test
、次のエラーが発生します。
1) Error:
ActivitiesControllerTest#test_should_create_activity:
NameError: uninitialized constant ActionController::TestCase::FactoryGirl
test/test_helper.rb:22:in `setup'