Les documents VCR Cucumber montrent de nombreux exemples utilisant une minuscule application Sinatra pour simuler un serveur distant, en utilisant une fonction appelée start_sinatra_app
chargée depuis vcr_cucumber_helpers.rb
. Je voudrais utiliser quelque chose comme ça pour mes tests Rails/RSpec/VCR, mais je n'ai pas compris comment obtenir start_sinatra_app
(ou équivalent) dans mon cadre de test. Mon approche naïve ne fonctionne pas car - il n'est pas surprenant - il ne peut pas trouver vcr_cucumber_helpers.rb
.Comment utiliser Sinatra pour simuler un serveur distant dans RSpec/VCR?
Que dois-je ajouter à ce qui suit pour le faire fonctionner sous RSpec? Ou suis-je dans les mauvaises herbes et de faire tout faux?
# file: spec/app/models/sinatra_test_spec.rb
require 'spec_helper'
start_sinatra_app(:port => 7777) do
get("/") { "Hello" }
end
describe "sinatra rspec test" do
it 'calls the sinatra app' do
VCR.use_cassette("sinatra_rspec_test") do
res = Net::HTTP.get_response('localhost', "/", 7777)
res.body.should == 'Hello'
end
end
end
merci! - désolé je n'ai pas remarqué ta réponse plus tôt! –