我正在尝试使用 Devise gem 在 Rails 中构建一个安静的 JSON api,我有以下代码:
users_controller_spec.rb:
require 'rails_helper'
RSpec.describe Api::V1::UsersController, type: :controller do
describe "PUT/PATCH #update" do
render_views
context "when is successfully updated" do
before(:each) do
@user = FactoryGirl.create :user
request.headers['Authorization'] = @user.auth_token
end
it "renders the json representation for the updated user" do
user_response = json_response
expect(user_response[:email]).to eq "newmail@example.com"
end
end
end
我的问题是
response.body
等于一个空字符串,它不是有效的 JSON,因此我不能做 JSON.parse(response.body)
我在其他地方阅读了 SO 以包括
render_views
你可以看到我已经这样做了,但这没什么区别。如果您需要更多信息,请告诉我
最佳答案
就我而言,结果是引发一个空白正文的权限错误,因为我没有登录用户。首先检查您的回复是否成功。
关于ruby-on-rails - Rspec Controller 测试中的 response.body 返回空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36516030/