在为此路线编写测试时,我遇到此问题
close_offer POST (/:locale)/offers/:code/close(.:format) offers#close {:locale=>/en|vi/}
这是我写的测试:
RSpec.describe OffersController, type: :controller do
let(:access_token) { extract_access_token_from_vcr_cassette }
describe 'POST #close' do
describe 'successful response' do
before(:each) do
VCR.use_cassette('offers/successful_close_offer') do
post :close, params: { code: 5742, access_token: access_token }, xhr: true
end
end
it 'returns success? = true' do
expect(assigns(:result)).not_to be_nil
end
end
end
end
不知何故,assigns(:result)
总是返回零。虽然它在其他路线的测试中完美运行。真正的代码也有效,只有测试失败。似乎没有运行,没有vcr记录,所以我怀疑这一行post :close, params: { code: 5742, access_token: access_token }, xhr: true
是错误的。有人有提示吗?
答案 0 :(得分:1)
是的,我曾经面对同样的情况。我们来检查您的身份验证。不知何故,你无法登录,因此路线不像你预期的那样,没有结果返回。