从rspec get请求中删除授权

问题描述 投票:0回答:1

我在rails中有一个控制器,当我转到url:/ my-path时它会输出json文本。

没有涉及授权。当我在浏览器或邮递员中打开URL时,我得到了预期的json数据。

我无法在rspec中测试它,因为我收到了无授权错误。

  before do
    get base_url , params: {} #, headers: { 'Content-Type' => 'application/x-www-form-urlencoded', Authorization: 'Token: sdaf' } 
  end

  it 'returns 200' do
    puts response
    expect(response.code).to eq '200'
  end

当我做上述操作时,我收到以下错误:

Failure/Error: expect(response.code).to eq '200'

   expected: "200"
        got: "401"

授权标头丢失。

我是铁杆新手,所以我不知道我错过了什么。

ruby-on-rails ruby rspec rspec-rails
1个回答
1
投票

希望你在控制器测试文件中编写你的rspec测试,在这种情况下如果你的编写测试例如home_controller,index action明确指定控制器动作如下,希望它有帮助:)

  before do
    get :index, params: {} #, headers: { 'Content-Type' => 'application/x-www- 
    form-urlencoded', Authorization: 'Token: sdaf' } 
  end
© www.soinside.com 2019 - 2024. All rights reserved.