Ответ 1
После некоторого рытья я нашел некоторые решения для этого.
По-видимому, вы можете изменить 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
Raise 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")
Иди сюда, не слишком тяжело.
Я понятия не имею, как я не нашел это в первый раз. В любом случае, надеюсь, что это поможет кому-то в один прекрасный день.