Ho questo semplice codice dove sto inviando la richiesta http e leggendo tutta la risposta. Ecco il mio codice rotaieCome rspec mock open-uri?
open("http://stackoverflow.com/questions/ask")
Come posso scrivere spec per questa riga di codice. Non ho la possibilità di usare mocha e webmock. Posso usare solo il framework di simulazione di Rpsec.
ho cercato di utilizzare questa istruzione
OpenURI.stub!(:open_uri).should_receive(:open).with("http://stackoverflow.com/questions/ask")
ma continuo a ricevere questo errore
RSpec::Mocks::MockExpectationError: (#<RSpec::Mocks::MessageExpectation:0xd1a7914>).open("http://stackoverflow.com/questions/ask")
expected: 1 time
received: 0 times
Questo è bello e si può utilizzare aspettare (object_under_test) .to ricevere (: aperto) .con (nulla) .and_return (File.read (File.new (Rails.root.join ("spec/fixtures/images/sample.jpeg")))) per eseguire lo stub di un file S3 letto durante un test. –