Entiendo que el entorno de prueba de Rails se destruye y se reconstruye antes de cada prueba ... así que ¿cómo pruebo un controlador que requiere que un usuario inicie sesión y ese usuario puede? ¿Se creará sin que el módulo confirmable del dispositivo se interponga?Prueba (RSpec) con el módulo confirmable de Devise
Devise's recommended method (abajo) crea un nuevo usuario que luego se envía un correo electrónico por el módulo confirmable
de Devise. ¿Cómo puedo evitar esto, así que no estoy 'creando' un usuario cada vez ... o si lo estoy, puedo obtener un objeto para probarlo sin "simular" un nuevo correo electrónico para cada especificación?
before(:each) do
@user = Factory.create(:user)
sign_in @user
end
estoy seguro de que estoy pasando por alto algo dolorosamente obvio que esto debe ser una casualidad muy común para cualquier persona que utilice Diseñar con confirmable ...
también se puede mover la creación del usuario a un 'antes (: todos) 'bloque, para acelerarlo ... – iain
Tuve que agregar' config.action_mailer.default_url_options = {: host => 'localhost: 3000'} 'para obtener pruebas para ejecutar ... de lo contrario' test.rb' es caldera plato, que yo sepa.Solo las configuraciones relacionadas con el correo en 'test.rb' o' environment.rb' son: 'config.action_mailer.delivery_method =: test'. – Meltemi
por lo que 'ActionMailer :: Base.delivery_method =: test' diferente de alguna manera a' 'config.action_mailer.delivery_method =: test' auto-generated ?? – Meltemi