ruby-on-rails - tipo - hydrochoerus
Obtén excepciones de rieles para mostrar usando capibaras y selenio (3)
esto es más probable porque el seguimiento de la pila solo se muestra en el modo de ejecución de desarrollo (o ''entorno''), y sus pruebas de integración se ejecutan dentro del entorno de producción .
Por supuesto, ajustando la configuración del modo de producción, es posible que pueda mostrar la excepción. Pero no sería la forma correcta. La mejor manera es:
- registrar la excepción y apilar la traza en un archivo o en un servidor de registro (hoptoad?) donde el usuario no puede verlo pero puede
- capte la excepción y represente una página de error
Espero que esto ayude. Atentamente.
Al usar el capibara y el selenio para ejecutar pruebas de integración en rieles, si se produce una excepción, se muestra una página blanca en blanco en lugar de la pantalla de excepción habitual con el seguimiento de la pila. ¿Hay alguna manera de que el capibara muestre las páginas de rastreo de la pila?
No pude obtener los rastros de la pila para mostrar con Webrick o Thin, pero mi eventual solución fue utilizar Mongrel, que imprime correctamente los rastros de pila en stderr.
Con capybara 0.4.1.2 o posterior, puede configurar el carpincho para usar mongrel de la siguiente manera:
Capybara.server do |app, port|
require ''rack/handler/mongrel''
Rack::Handler::Mongrel.run(app, :Port => port)
end
La solución de Matt no funcionó para mí, pero precisamente esta idea, https://gist.github.com/1443408, sí.
https://github.com/thoughtbot/capybara-webkit/issues/226 explica en más detalle por qué ocurre y proporciona una explicación sobre lo que se da en esencia.