В документах VCR Cucumber показано множество примеров использования крошечного Sinatra. app для имитации удаленного сервера с помощью функции start_sinatra_app
, загруженной из vcr_cucumber_helpers.rb
.
Я хотел бы использовать что-то подобное для тестирования Rails/RSpec/VCR, но не понял, как получить start_sinatra_app
(или эквивалент) в моей среде тестирования. Мой наивный подход не работает, поскольку, что неудивительно, он не может найти vcr_cucumber_helpers.rb
.
Что мне нужно добавить к следующему, чтобы он работал под RSpec? Или я в сорняках и делаю все это неправильно?
# 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