2017-09-04 5 views
0

J'ai cherché ceci, mais sans succès.Désactiver la sortie repos-client sur minitest

J'ai quelques tests (minitest) qui utilisent RestClient et Webmock. Lors du passage de ces tests, je l'ai toujours la demande journalisé, la pollution de l'ouput test:

[$] rake                         

Run options: --seed 60435 

Running: 
.........................................................RestClient.get "http://example.com/some_controller/some_action?userLocale=fr_FR", "Accept"=>"*/*", "Accept-Encoding"=>"gzip, deflate", "User-Agent"=>"rest-client/2.0.0 (darwin14.1.0 x86_64) ruby/2.2.1p85" # => 200 OK | 4 bytes 

est-il un moyen de désactiver cela?

[EDIT]

Juste pour ajouter, si je l'appelle la même adresse URL en utilisant Ruby Je n'ai rien connecté (même en utilisant webmock) donc il est vraiment quelque chose lié avec Rest-client.

J'ai déjà essayé de définir la variable ENV['RESTCLIENT_LOG'], mais sans succès.

Répondre

1

Qu'en est-:

RestClient.stub :log, '' do 
    # Your test code here 
end 

http://www.rubydoc.info/gems/minitest/4.2.0/Object:stub

Vous avez beaucoup d'autres options pour rediriger la sortie du journal:

  • Dans votre test_helper.rb:

    RestClient.log = 'tmp/test.log' 
    

http://www.rubydoc.info/gems/rest-client/1.8.0/RestClient.log=

  • Depuis la ligne de commande:

    RESTCLIENT_LOG=tmp/restclient.log bundle exec rails test 
    

En dernier recours vous pourriez patch singe:

# test_helper.rb 
RestClient.class_eval do 
    def self.log 
    '' 
    end 
end 
+0

Peut-être i'ts une solution de contournement, mais pas ce que je cherche f ou. Il serait nécessaire de changer tous les tests qui utilisent ceci, et gardez à l'esprit de le faire tous les nouveaux tests en utilisant repos-lcient. – lcguida

+0

@lcguida mise à jour réponse avec plus d'options. – ehoffmann