with respond rails ruby-on-rails json rspec jbuilder

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