从rspec获取请求中删除授权

时间:2019-03-17 14:04:41

标签: ruby-on-rails ruby rspec rspec-rails

我有一个控制器,当我转到url时: /我自己的路 它输出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"

缺少授权标头。

我是Rails的新手,所以我对这里缺少的内容一无所知。

1 个答案:

答案 0 :(得分:1)

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

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