【发布时间】:2018-01-22 12:49:19
【问题描述】:
我在为这条路线编写测试时遇到了这个问题
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) 总是返回 nil。尽管它在其他路线的测试中完美运行。真实代码也可以,只是测试失败了。似乎没有运行任何操作,没有 vcr 记录,所以我怀疑这行 post :close, params: { code: 5742, access_token: access_token }, xhr: true 是错误的。有人有提示吗?
【问题讨论】:
标签: ruby-on-rails ruby rspec