Pregunta

Estoy teniendo serios problemas con las pruebas API controlador de RSpec. En este momento estoy usando una solución de autenticación de middleware ( Warden ), y cuando corro las especificaciones, el proxy añadido por el middleware no está allí, y todas las pruebas de autenticación están tirando NilPointerExceptions por todo el lugar.

Parece RSpec no está agregando el middleware para la aplicación final el objetivo, y me gustaría saber si hay una manera de parche mono RSpec con el fin de hacer que ir.

Ya he probado todo con pepino, sin embargo, esto es una refactorización de una versión antigua de autenticación y hay varias pruebas del controlador que dependen de la lógica de autenticación con el fin de trabajar.

Gracias de antemano.

¿Fue útil?

Solución

Parece API RSpec Controller para rieles 2.x no está realmente utilizando la llamada del estante en el controlador, así que esto no es posible hacerlo. Sin embargo hay una solución (no probada) señaló por David Chelimsky. Voy a poner la respuesta que me dio en la lista de correo RSpec por el usuario.

  

especificaciones del controlador no pasan por estante en los carriles 2, por lo que en realidad no.

     

Existen especificaciones de integración, que se envuelven los rieles de la API de pruebas de integración   por lo que puede hacer cualquier cosa que se puede hacer en una prueba de integración rieles. Sólo   mover los archivos a especificaciones / integración, convertir las solicitudes de   "Obtener: índice" a "conseguir 'ruta / a / index'" y que debe estar más o menos   bueno para ir.

     

Háganos saber cómo eso funciona.

     

Cheers,   David

Terminé burlándose de la ApplicationController en los métodos de la lógica de autenticación para hacer cosas ficticio con el fin de hacer que las especificaciones de mi correr, lo hice antes de tener la sugerencia señaló por David, así que no sabría si ese trabajo. De cualquier manera espero que ayude cualquier otro desarrollador en la misma situación.

Otros consejos

Este post sobre un problema relacionado podría arrojar alguna luz y eventualmente conducir a una solución para la especificación de componentes de middleware en una configuración RSpec (espero!)

https: // rspec .lighthouseapp.com / proyectos / 5645 / entradas / 963-petición-is-nil # ticket-963-14

En realidad no ayuda con su problema específico Rails2, pero esta consulta llegó hasta la parte superior de 'middleware rspec' por lo que se espera ayude a otras personas que se encuentran con el problema, ya que tratar la beta Rails3 y más allá.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top