Quando si verifica una risposta JSON da un test del controller RSPEC utilizzando JBuilder di DHH, il mio response.body è sempre "{}". Funziona bene nelle modalità di sviluppo/produzione E quando uso il metodo to_json invece di jbuilder, ottengo il corretto JSON nel mio response.body.Perché JBuilder non restituisce un corpo risposta in JSON durante il test di RSPEC
Chiunque ha idea del motivo per cui il mio response.body sarebbe sempre "{}" durante il test?
----- Debugger
che "dovrebbe restituire gli oggetti della spesa tramite JSON",: focus fare
get: indice,: format =>: json
fine
(RDB: 1) response.body
"{}"
È necessario chiamare 'render_views' perché durante l'esecuzione dei controller, il rendering di visualizzazione è disabilitato per impostazione predefinita. Ciò accelera il funzionamento del test poiché è necessario testare il comportamento del controller solo in un test del controller. –
come utilizzare 'render_views', ref: https://www.relishapp.com/rspec/rspec-rails/v/3-5/docs/controller-specs/render-views –
https://github.com/ rspec/rspec-rails > Nota: per incoraggiare un test più isolato, le visualizzazioni non vengono visualizzate di default nelle specifiche del controller. Se stai verificando la logica di visualizzazione discreta, utilizza una specifica di visualizzazione. Se stai verificando il comportamento di un controller e visualizzi insieme, considera una specifica della richiesta. È possibile utilizzare 'render_views' se è necessario verificare il contenuto della vista di rendering all'interno di una specifica del controller, ma ciò non è raccomandato. –