Ruby on rails 3.2 如何使用rspec测试坏的网络连接

Ruby on rails 3.2 如何使用rspec测试坏的网络连接,ruby-on-rails-3.2,capybara,rspec2,vcr,Ruby On Rails 3.2,Capybara,Rspec2,Vcr,我想测试与外部api的连接错误。做这件事最好的方法是什么 我的控制器里有 begin result = connect.to_api rescue Error::TooManyRequests => e flash = e end 我想测试错误是否会显示给用户。模拟您的connect对象,这样无论它调用什么方法,都会引发您在完成网络连接时预期会遇到的错误。然后测试错误是否设置在预期的位置。如果不知道connect.to.api实际上是什么,就很难说你应该模仿什么,应该提出什么…让我的

我想测试与外部api的连接错误。做这件事最好的方法是什么

我的控制器里有

begin
 result = connect.to_api
rescue Error::TooManyRequests => e
 flash = e
end

我想测试错误是否会显示给用户。

模拟您的
connect
对象,这样无论它调用什么方法,都会引发您在完成网络连接时预期会遇到的错误。然后测试错误是否设置在预期的位置。如果不知道connect.to.api实际上是什么,就很难说你应该模仿什么,应该提出什么…

让我的测试通过了


Connect.should\u receive(:to\u api)and\u raise(Error::TooManyRequests)

谢谢。本例中的connect.to.api是Twitter.search(params[:q]),它可能会引发Twitter::Error::TooManyRequests