我正在为RSpec中的Rails API编写测试,并且端点设置了令牌认证。我需要在请求中传递Authorization标头,但我一直收到401未经授权的错误。是否有任何方法可以调试并从这些类型的规范中了解实际传递哪些标题等?否则它似乎在黑暗中拍摄。我应该注意,下面提供的令牌在Postman中完美运行。
describe "Chirps API" do
it "GET /chirps should return 200" do
get "/chirps", headers: {
"Authorization": "Token token=7cc9f851ea0e4013b7b15ec9131f6d58"
}
expect(response).to have_http_status(200)
end
end
答案 0 :(得分:1)
假设您的控制器操作也是唧唧喳喳,这将帮助您查看完整的请求对象
def chirps
Rails.logger.info(request.env) # complete request object
Rails.logger.info(request.headers) #just the headers
...
end
答案 1 :(得分:1)
要增强交互性,您可以插入byebug,然后发出命令。
it { byebug }
然后在控制台中输入获取。