次のコードがあります。
def index
@car_types = car_brand.car_types
end
def car_brand
CarBrand.find(params[:car_brand_id])
rescue ActiveRecord::RecordNotFound
raise Errors::CarBrandNotFound.new
end
RSpecでテストしたいです。私のコードは:
it 'raises CarBrandNotFound exception' do
get :index, car_brand_id: 0
expect(response).to raise_error(Errors::CarBrandNotFound)
end
IDが0のCarBrandが存在しないため、コントローラーコードでErrors :: CarBrandNotFoundが発生しますが、テストコードで何も発生しなかったことがわかります。どうすれば修正できますか?何が間違っていますか?
get :index, car_brand_id: 0
自体ではエラーは発生しません。