Tôi đang cố gắng kiểm tra nhánh bộ điều khiển Rails được kích hoạt khi phương thức mô hình tăng lỗi.Làm cách nào để khai báo một phương pháp để nâng lỗi bằng cách sử dụng Ruby MiniTest?
def my_controller_method
@my_object = MyObject.find(params[:id])
begin
result = @my_object.my_model_method(params)
rescue Exceptions::CustomError => e
flash.now[:error] = e.message
redirect_to my_object_path(@my_object) and return
end
# ... rest irrelevant
end
Làm cách nào để nhận được thông báo lỗi tối thiểu để tăng lỗi này?
it 'should show redirect on custom error' do
my_object = FactoryGirl.create(:my_object)
# stub my_model_method to raise Exceptions::CustomError here
post :my_controller_method, :id => my_object.to_param
assert_response :redirect
assert_redirected_to my_object_path(my_object)
flash[:error].wont_be_nil
end
Nếu ngoại lệ có đối số, bạn phải cung cấp các ví dụ: '' 'MyObject.any_instance.expects (: my_model_method) .raises (Exceptions :: CustomError.new (some_arg))' '' – Tony