ruby on rails - respond - ¿Por qué JBuilder no devuelve un cuerpo de respuesta en JSON al probar RSPEC?
rails 5 respond with json (2)
Cuando se prueba una respuesta JSON de una prueba del controlador RSPEC utilizando JBuilder de DHH, mi respuesta.cuerpo es siempre "{}". Funciona bien en los modos de desarrollo / producción Y cuando uso el método to_json en lugar de jbuilder, obtengo el JSON adecuado en mi respuesta.
Alguien tiene una idea de por qué mi respuesta. ¿Alguien siempre estaría "{}" al realizar la prueba?
----- Depurador
"debería devolver los artículos del carrito a través de JSON",: focus do
get: index,: format =>: json
fin
(rdb: 1) response.body
"{}"
Para cualquiera que tenga el mismo problema. Lo he descubierto.
Debe llamar a render_views
dentro de las pruebas de controlador que está realizando. Si lo haces, entonces deberías ver un response.body
con tu JSON contenido :)
Puede encontrar una solución en https://github.com/rails/jbuilder/issues/32
Así que en rspec / spec_helper.rb
RSpec.configure do |config|
# https://github.com/rails/jbuilder/issues/32
config.render_views = true
end
Después de agregar la opción anterior, el resultado de JSON se mostrará a través del renderizador jbuilder