como testo (rspec) uma solicitação http que leva muito tempo?

Como testar o comportamento se uma solicitação demorar muito com o rspe

Estou pensando em usar thread para zombar disso:

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

Eu quero ter certeza de que, depois que a solicitação for feita pela primeira vez, outro encadeamento "entre em ação", que neste caso é apenas um sono por xx segundos. Então, devo esperar que a solicitação atinja o tempo limite, pois leva muito tempo para executar

Acho que existem maneiras melhores de fazer isso. Dado o fato de que o URL que estou solicitando não é relevante. Eu só quero testar se o tempo limite será excedido se demorar muito para ser executad

Posso usar stub (), expect () ou qualquer recurso rspec para simular iss

Existe alguma maneira de eu passar um 'bloco' para o método stub

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

qualquer ajuda é apreciada

questionAnswers(6)

yourAnswerToTheQuestion