2017-09-04 6 views
0

Ich habe gesucht, aber ohne Erfolg.Deaktivieren Rest-Client-Ausgabe auf Minitest

Ich habe einige Tests (Minitest), die RestClient und Webmock verwenden. Wenn für diese Tests vorbei ich die Anfrage protokolliert immer haben, den Test ouput verschmutzen:

[$] 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 

Gibt es eine Möglichkeit, dies zu deaktivieren?

[EDIT]

einfach hinzufügen, wenn ich die gleiche Adresse mit Ruby URL aufrufen Ich habe nichts angemeldet (auch mit webmock), so ist es wirklich etwas im Zusammenhang mit dem Rest-Client.

Ich habe bereits versucht, die ENV['RESTCLIENT_LOG'] Variable zu setzen, aber ohne Erfolg.

Antwort

1

Was:

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

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

Sie haben viele andere Optionen, um die Log-Ausgabe zu umleiten:

  • In Ihrem test_helper.rb:

    RestClient.log = 'tmp/test.log' 
    

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

  • in der Befehlszeile:

    RESTCLIENT_LOG=tmp/restclient.log bundle exec rails test 
    

In letztes Mittel Sie konnte Affen-Patch:

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

Vielleicht i'ts dieses Problem zu umgehen, aber nicht das, was ich suche f oder. Es wäre notwendig, alle Tests, die dies verwenden, zu ändern, und denken Sie daran, es bei jedem neuen Test mit Rest-lcient zu tun. – lcguida

+0

@lcguida aktualisierte Antwort mit mehr Optionen. – ehoffmann