Khi thử nghiệm phản hồi JSON từ kiểm tra bộ điều khiển RSPEC bằng JBuilder của DHH, response.body của tôi luôn là "{}". Nó hoạt động tốt trong các chế độ phát triển/sản xuất VÀ khi tôi sử dụng phương thức to_json thay vì jbuilder, tôi nhận được JSON thích hợp trong response.body của tôi.Tại sao JBuilder không trả về nội dung phản hồi trong JSON khi kiểm tra RSPEC
Bất kỳ ai cũng có manh mối về lý do tại sao câu trả lời của tôi luôn luôn là "{}" khi thử nghiệm?
----- Debugger
nó "nên trả lại các mặt hàng giỏ qua JSON",: tập trung làm
get: chỉ số,: format =>: json
cuối
(rdb: 1) response.body
"{}"
Bạn phải gọi 'render_views' vì khi chạy bộ điều khiển, xem hiển thị được tắt theo mặc định. Điều này làm tăng tốc độ chạy thử vì bạn chỉ nên kiểm tra hành vi của bộ điều khiển trong kiểm tra bộ điều khiển. –
cách sử dụng 'render_views', ref: https://www.relishapp.com/rspec/rspec-rails/v/3-5/docs/controller-specs/render-views –
https://github.com/ rspec/rspec-rails > Lưu ý: Để khuyến khích thử nghiệm nhiều lần bị cô lập hơn, các chế độ xem không được hiển thị theo mặc định trong thông số bộ điều khiển. Nếu bạn đang xác minh logic xem rời rạc, hãy sử dụng thông số chế độ xem. Nếu bạn đang xác minh hành vi của một bộ điều khiển và xem cùng nhau, hãy xem xét thông số yêu cầu. Bạn có thể sử dụng 'render_views' nếu bạn phải xác minh nội dung xem được hiển thị trong một đặc tả bộ điều khiển, nhưng điều này không được khuyến khích. –