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