sollten Sie in der Lage sein, nur
WebMock.stub_request(:post, 'api.quickblox.com/')
.to_return(status: 201, body: 'whatever', headers: { some_kind_of: 'header' })
verwenden Wenn Sie sich nicht den Körper oder Header auf dem Stummel angeben, wird es etwas für den Körper oder Header ermöglichen. Dies gilt nicht für Abfrageparameter.
Zum Beispiel dieses Test des Beispielprojektes geht:
bundle exec rspec
Ausgang:
Test
does a thing
Finished in 0.00379 seconds (files took 0.25797 seconds to load)
1 example, 0 failures
lib/test.rb
require 'faraday'
require 'json'
class Test
def self.do_a_thing
JSON.parse(Faraday.get('http://www.example.com') do |request|
request.headers['Something'] = 'anything'
request.body = 'bla bla bla'
end.body)
end
end
spec/test_spec.rb
require_relative '../lib/test.rb'
require 'webmock/rspec'
describe Test do
WebMock.stub_request(:get, 'http://www.example.com')
.to_return(body: '{ "this": "is a test" }')
it 'does a thing' do
expect(described_class.do_a_thing).to include({ 'this' => 'is a test' })
end
end
.ruby-ver sion
ruby-2.0.0
Gemfile
gem 'rspec'
gem 'webmock'
gem 'faraday'
Gemfile.lock
GEM
specs:
addressable (2.3.8)
crack (0.4.2)
safe_yaml (~> 1.0.0)
diff-lcs (1.2.5)
faraday (0.9.1)
multipart-post (>= 1.2, < 3)
multipart-post (2.0.0)
rspec (3.2.0)
rspec-core (~> 3.2.0)
rspec-expectations (~> 3.2.0)
rspec-mocks (~> 3.2.0)
rspec-core (3.2.3)
rspec-support (~> 3.2.0)
rspec-expectations (3.2.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.2.0)
rspec-mocks (3.2.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.2.0)
rspec-support (3.2.2)
safe_yaml (1.0.4)
webmock (1.20.4)
addressable (>= 2.3.6)
crack (>= 0.3.2)
PLATFORMS
ruby
DEPENDENCIES
faraday
rspec
webmock
BUNDLED WITH
1.10.5
denke ich, ist dieser Abschnitt eine bessere Referenz für die 'headers' aufeinander abgestimmt sind gegen: https://github.com/ bblimke/webmock # matching-header – Aegix