Stubbing Warden en las pruebas del controlador

Tengo problemas para probar mis controladores y usar Warden.

Todos los ejemplos apuntan a tropezarrequest.env['warden']. Esto causa problemas en mis controladores cuando llamo aenv['warden'], que luego devuelvenil.

Para un ejemplo crudo, usando esto:

request.env['warden'] = double(Warden, :authenticate => nil,
                                          :authenticate! => nil,
                                          :authenticated? => false)

Y un filtro antes simple como este:

before_filter do
  redirect_to new_user_session_url unless env['warden'].authenticated?
end

Yo tengo unnil.

Me las arreglé para hacerlo funcionar usandocontroller.env['warden'] = ... y funciona. Esto tiene sentido, ya que se encuentra justo en el nivel del controlador, así que supongo que mi pregunta es qué no funcionaría en los ejemplos que he visto.

Tengo esto en mispec_helper:

config.include Warden::Test::Helpers

¡Cualquier ayuda sería genial!

Respuestas a la pregunta(4)

Su respuesta a la pregunta