rails gema current_user create configuration devise helper rspec2

configuration - gema - Rspec 2 config: tipos de tipo



rails authentication (2)

En mi spec_helper.rb tengo

config.include Devise::TestHelpers, :type => :controller

para que pueda probar mis controladores que requieren la autenticación del usuario. Sin embargo, la especificación para la misma clase en las solicitudes también debe iniciar sesión o las pruebas fallarán. He intentado

config.include Devise::TestHelpers, :type => :request

pero eso tampoco funciona. Parece que no puedo encontrar qué tipo de opciones puedo pasar a los métodos de inclusión o extensión de rspec. Supongo que el modelo y la vista estarían allí, pero los demás no estoy seguro. ¿Qué debo usar para que puedan pasar mis especificaciones de solicitudes y hay una lista de los diferentes tipos para: tipo?


Este compromiso debería ayudar a aclarar la opción :type .

https://github.com/rspec/rspec-rails/commit/fc5cdbb603f0e66f9f3d19a0a60a775e124fb218

:type => :request es válida, por lo que no estoy seguro de por qué fallan sus pruebas.

¿Qué directorio contiene tus pruebas de integración? Normalmente, se encuentran en spec/requests o, posiblemente, spec/integration .

Puede usar otra opción para especificar cuándo incluir Devise :: TestHelpers; la opción es :example_group :

config.include Devise::TestHelpers, :example_group => { :file_path => config.escaped_path(%w[spec (requests|integration)]) }

Ahora, Devise :: TestHelpers se incluirá en grupos de ejemplo cuyo archivo se encuentra dentro de las rutas especificadas.

Asegúrese de reemplazar el miembro de la matriz (requests|integration) con el nombre de la carpeta donde se encuentran sus pruebas de integración.


Tal vez sea demasiado tarde, pero para cualquiera que lo necesite, cambiando el tipo a :feature funcionó para mí:

config.include Devise::TestHelpers, :type => :feature