微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

失败/错误:expect(response.status).to eq(200) rspec

如何解决失败/错误:expect(response.status).to eq(200) rspec

我总是在使用会话请求测试登录用户后获得 302 重定向

Failure/Error: expect(response.status).to eq(200)
     
       expected: 200
            got: 302

spec/requests/sessions_spec.rb

  describe do
   let!(:user) { create(:user) }

    context do
      before { sign_in user }

      it do
        get api_users_path
        expect(response.status).to eq(200)
      end
    end
  end

配置:spec_helper.rb

  config.include Devise::Test::IntegrationHelpers,type: :request
  config.include Warden::Test::Helpers,type: :request

解决方法

解决方案是在 headers 中提供 Token

request.headers['HTTP_ACCEPT'] = 'application/json'
request.headers['Authorization'] = token

并删除登录

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。