Как проверить (rspec) HTTP-запрос, который занимает слишком много времени?

Как проверить поведение, если запрос занимает слишком много времени с rspec?

Я думаю об использовании потока, чтобы высмеивать это:

describe "Test" do 
  it "should timeout if the request takes too long" do 
    lambda {
      thread1 = Thread.new { #net::http request to google.com }
      thread2 = Thread.new { sleep(xx seconds) }
      thread1.join 
      thread2.join
    }.should raise_error
  end 
end

Я хочу удостовериться, что после того, как запрос впервые сделан, другой поток «включается», который в этом случае просто бездействует в течение хх секунд. Тогда я должен ожидать, что запрос истечет время ожидания, потому что это занимает слишком много времени для выполнения

Я думаю, что есть лучшие способы сделать это. Учитывая тот факт, что URL, который я запрашиваю, не имеет отношения к делу. Я просто хочу проверить, что действительно истечет время ожидания, если выполнение займет слишком много времени.

Могу ли я использовать stub (), ожидаем () или любые другие функции rspec для имитации этого?

Есть ли способ, который я могу передать в блоке в метод заглушки

http_request_to_google.stub(:connection).executethisblock(sleep for xx seconds)
.and_throw error ?

любая помощь приветствуется

Ответы на вопрос(3)

Ваш ответ на вопрос