Ruby on rails 在RSPEC中传递承载令牌(无nil到字符串的隐式转换)
我正试图传递Ruby on rails 在RSPEC中传递承载令牌(无nil到字符串的隐式转换),ruby-on-rails,ruby,testing,rspec,rspec-rails,Ruby On Rails,Ruby,Testing,Rspec,Rspec Rails,我正试图传递@令牌,但出现此错误 require 'rails_helper' RSpec.describe "User management", :type => :request do describe "Example::V2::Users" do describe "GET /api/v2/users/" do it 'returns status 200, authorized' do @token =
@令牌
,但出现此错误
require 'rails_helper'
RSpec.describe "User management", :type => :request do
describe "Example::V2::Users" do
describe "GET /api/v2/users/" do
it 'returns status 200, authorized' do
@token = "Bearer 123"
@url = "https://api.example-v2.com/v2/users/me"
@headers = { "AUTHORIZATION" => @token}
get @url, as: :json, headers: {:Authorization => @token}
expect(response.status).to eq 200
end
end
end
end
我可以在没有参数和头的情况下发出get请求,它可以工作,但是一旦我添加了参数或头,我就得到了错误,我甚至试着这样编写它
Failure/Error: get @url, as: :json, headers: {:Authorization => @token}
TypeError: no implicit conversion of nil into String
一些聪明人请给我指出正确的方向
宝石:
请检查一下,这对我有用
gem 'rspec-rails', '~> 3.8'
gem 'rails', '~> 6.0.2.2'
请检查一下,这对我有用
gem 'rspec-rails', '~> 3.8'
gem 'rails', '~> 6.0.2.2'
get@url,as::json,头:{Authorization:@token}
当键入:reuqst
时,这在我的环境中起作用我建议您可以在GET请求之前使用
byebug
并检查@token和@url。如果一切看起来都很好。
检查
get
是否可以请求根url?检查
rails\u helper
是否需要任何可疑文件?get@url,as::json,headers:{Authorization:@token}
当键入:reuqst
时,这在我的环境中起作用我建议您可以在GET请求之前使用
byebug
并检查@token和@url。如果一切看起来都很好。
检查
get
是否可以请求根url?检查
rails\u helper
是否需要任何可疑文件?您有什么版本的rails和rspec?这是:控制器测试还是:请求测试?@TimurNugmanov我用信息更新了问题您有什么版本的rails和rspec?这是:控制器测试还是:请求测试?@TimurNugmanov我用信息更新了问题如果您解释为什么这是首选解决方案,并解释它是如何工作的,infoIt会帮助更多。我们希望提供教育,而不仅仅是提供代码。如果您解释为什么这是首选解决方案,并解释它是如何工作的,这将更有帮助。我们想要教育,而不仅仅是提供代码。
require 'rails_helper'
RSpec.describe "User management", :type => :request do
describe "PeopleGoal::V2::Users" do
describe "GET /api/v2/users/" do
it 'returns status 200, authorized' do
request.headers["AUTHORIZATION"] = "Basic #{user.id}"
@url = "https://api.peoplegoal-v2.com/v2/users/me"
get @url, format: :json
expect(response.status).to eq 200
end
end
end
end