2016-06-09 2 views
0

Quand je lance le test puis-je obtenir cette erreur:RSpec et WebMock: ignorer la demande

/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 => {}) 

C'est ce que je l'ai fait pour résoudre ce problème:

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 

Mais je continue d'avoir cette erreur, peut-être que quelqu'un a des idées pour la réparer?

UPD: Je souhaite écrire des spécifications pour les demandes d'API en utilisant webmock gem. Mais je n'ai pas besoin de demandes de travis-ci et je veux ajouter ces demandes à "ignorer".

+0

Pouvez-vous nous donner le contexte? –

+0

Quel genre de contexte? J'ai un joyau 'webmock' et je veux ignorer cette requête de travis. Je pense que j'ai correctement ajouté une "règle" pour ignorer cette demande. –

+0

Je vous demande simplement une introduction expliquant ce que vous voulez faire, avec quelle technologie et ce que vous avez essayé. Beacuse vous commencez avec "le test" et je n'ai aucune idée de quel est le contexte. Appliquez cette mise à jour à votre message et les gens comprendront et vous obtiendrez beaucoup de réponses de la communauté;). –

Répondre

0

Il a résolu mon problème:

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