如何使用rspec测试糟糕的网络连接

时间:2012-12-05 03:04:58

标签: ruby-on-rails-3.2 capybara rspec2 vcr

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

在我的控制器里我有

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

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

2 个答案:

答案 0 :(得分:1)

模拟您的connect对象,以便它所调用的任何方法都会引发您在网络完成时期望得到的错误。然后测试错误是否设置在您期望的位置。如果不知道connect.to.api确实存在,那就很难说出你应该嘲笑什么以及你应该提出什么......

答案 1 :(得分:0)

我的测试通过了

Connect.should_receive(:to_api).and_raise(Error::TooManyRequests)