经过一番挖掘,我找到了一些解决方案。
显然您可以将 更改to_return(...)
为to_timeout
,这将引发超时错误。你也可以拥有to_raise(StandardError)
. 如需完整参考,请参阅https://github.com/bblimke/webmock#raising-timeout-errors。
超时或未找到服务器,例如:
stubbed_request = stub_request(:get, "#{host}/api/something.json").
with(:headers => {'Accept'=>'*/*', 'Content-Type'=>'application/json', 'User-Agent'=>'Ruby'}).
to_timeout
引发 StandardError,或者没有互联网/其他异常,例如:
stubbed_request = stub_request(:get, "#{host}/api/something.json").
with(:headers => {'Accept'=>'*/*', 'Content-Type'=>'application/json', 'User-Agent'=>'Ruby'}).
to_raise(StandardError)
#Error example 2:
stubbed_request = stub_request(:get, "#{host}/api/something.json").
with(:headers => {'Accept'=>'*/*', 'Content-Type'=>'application/json', 'User-Agent'=>'Ruby'}).
to_raise("My special error")
你去吧,毕竟不是太难。
我不知道我第一次怎么没有找到这个。无论如何,希望有一天这对某人有所帮助。