我想为我的控制器之一编写一些rspec联合测试,并且我正在运行int有关stubbing REST api调用的一点疑惑。rails rspec存根并提出响应代码404响应
所以我有这个REST调用哪个接收水果ID并返回一个特定的水果信息,我想测试何时REST给我回应代码404(未找到)。理想情况下,我会踩灭的方法调用和返回错误代码
在控制器
def show
@fruit = FruitsService::Client.get_fruit(params[:id])
end
规格/控制器/ fruits_controller_spec.rb
describe '#show' do
before do
context 'when a wrong id is given' do
FruitsService::Client.any_instance
.stub(:get_fruit).with('wrong_id')
.and_raise <----------- I think this is my problem
get :show, {id: 'wrong_id'}
end
it 'receives 404 error code' do
expect(response.code).to eq('404')
end
end
这给这个
Failure/Error: get :show, {id: 'wrong_id'}
RuntimeError:
RuntimeError
您的测试出您磕碰 – bjhaid