traducir inglés ingles español cómo como ruby-on-rails testing rspec devise warden

ruby on rails - inglés - lanzamiento no atrapado: alcaide en las pruebas de desarrollo



traducir al español (2)

Acabo de empezar con las pruebas de Devise. No puedo entender por qué recibo este error:

Failure/Error: subject.current_user.should_not be_nil ArgumentError: uncaught throw :warden

Este es el código en mi especificación:

require "spec_helper" describe Devise::PasswordsController do include Devise::TestHelpers before(:each) do user = Factory(:user) @request.env["devise.mapping"] = Devise.mappings[:user] sign_in user end it "should have a current user" do subject.current_user.should_not be_nil end end

¿Alguien ha solucionado este problema? Sé que hay problemas en github pero en su caso, include Devise::TestHelpers no estuvo presente a diferencia de mi caso.

Recibo un error en esta línea: subject.current_user.should_not be_nil


Veo que esta es una pregunta muy antigua, pero me encontré con un problema similar. Esto es lo que me ayudó.

Si está utilizando un módulo confirmable , no olvide confirmar al usuario, de lo contrario se lanzará la excepción de Warden. El cambio apropiado a su código sería:

before(:each) do user = Factory(:user) user.confirmed_at = Time.zone.now user.save @request.env["devise.mapping"] = Devise.mappings[:user] sign_in user end

Más información se puede encontrar en Devise Wiki


uncaught throw :warden sucede cuando se authenticate_user! falla

Averigüe por qué su autenticación del usuario es un error, y habrá resuelto su problema.