Configurando o Warden para uso nas especificações do controlador RSpec

Eu pude usar o Devise'ssign_in método para efetuar login em um usuário em minhas especificações de controlador. Mas agora que estou removendo o Devise do meu aplicativo, não tenho certeza de como obter funcionalidade semelhante trabalhando apenas com o Warden por conta própria.

Como devo proceder para configurarspec/spec_helper.rb e relacionadospec/support/*.rb arquivos para obter Warden executando dentro de especificações do controlador suficientemente?

Eu tentei configurar um arquivo emspec/support/warden.rb com estes conteúdos:

RSpec.configure do |config|
  config.include Warden::Test::Helpers

  config.after do
    Warden.test_reset!
  end
end

Então eu tenhobefore chama semelhante a isso para autenticar umuser fábrica:

before { login_as FactoryGirl.create(:user) }

Mas aqui está o erro que eu continuo vendo:

NameError:
  undefined method `user' for nil:NilClass

Este erro remonta ao meuauthenticate_user! método no controlador:

def authenticate_user!
  redirect_to login_path, notice: "You need to sign in or sign up before continuing." if env['warden'].user.nil?
end

Eu apreciaria qualquer orientação que alguém pudesse fornecer.

questionAnswers(2)

yourAnswerToTheQuestion