2016-06-09 12 views
0

Wenn ich den Test ausführen, dann bekomme ich diese einen Fehler:RSpec und WebMock: ignorieren Anfrage

/gems/[email protected]/gems/webmock-2.1.0/lib/webmock/http_lib_adapters/typhoeus_hydra_adapter.rb:166:in `block in <class:TyphoeusAdapter>': Real HTTP connections are disabled. Unregistered request: HEAD https://api.travis-ci.org/ with headers {'Accept'=>'application/vnd.travis-ci.2+json', 'User-Agent'=>'Travis/1.8.2 (Mac OS X 10.11.4 like Darwin; Ruby 2.3.1-p112; RubyGems 2.5.1) Faraday/0.9.2 Typhoeus/0.8.0'} (WebMock::NetConnectNotAllowedError) 

You can stub this request with the following snippet: 

stub_request(:head, "https://api.travis-ci.org/"). 
    with(:headers => {'Accept'=>'application/vnd.travis-ci.2+json', 'User-Agent'=>'Travis/1.8.2 (Mac OS X 10.11.4 like Darwin; Ruby 2.3.1-p112; RubyGems 2.5.1) Faraday/0.9.2 Typhoeus/0.8.0'}). 
    to_return(:status => 200, :body => "", :headers => {}) 

Das ist, was ich dieses Problem zu lösen hat:

spec_helper.rb:

require 'webmock/rspec' 
require 'capybara/rspec' 
require 'factory_girl_rails' 

WebMock.disable_net_connect!(allow_localhost: true) 
RSpec.configure do |config| 
    config.before(:each) do 
    stub_request(:any, "https://api.travis-ci.org/") 
     .with(:headers => {'Accept'=>'application/vnd.travis-ci.2+json', 'User-Agent'=>'Travis/1.8.2 (Mac OS X 10.11.4 like Darwin; Ruby 2.3.1-p112; RubyGems 2.5.1) Faraday/0.9.2 Typhoeus/0.8.0'}) 
     .to_return(:status => 200, :body => "", :headers => {}) 
    end 
end 

Aber ich bekomme immer noch diesen Fehler, vielleicht hat jemand Ideen, wie man es beheben kann?

UPD: Ich möchte spec für api Anfragen mit webmock gem schreiben. Aber ich brauche keine Anfragen von travis-ci und möchte diese Anfragen "ignorieren".

+0

Können Sie uns den Kontext? –

+0

Welche Art von Kontext? Ich habe 'webmock' gem und möchte diese Anfrage von Travis ignorieren. Ich glaube, ich habe eine "Regel" hinzugefügt, um diese Anfrage zu ignorieren. –

+0

Ich frage nur nach einer Einführung, die erklärt, was Sie tun wollen, mit welcher Technologie und was Sie ausprobiert haben. Weil du mit "dem Test" beginnst und ich habe keine Ahnung, was der Kontext ist. Wende dieses Update auf deinen Beitrag an und die Leute werden es verstehen und du wirst viele Antworten von der Community bekommen;). –

Antwort

0

Es löste mein Problem:

WebMock.disable_net_connect!(:allow => 'api.travis-ci.org')