2013-07-25 2 views
7

난 내 레일 응용 프로그램에 대한 테스트를 쓰고있어. '보고 싶습니다.' 및 '*'기호 (rspec가 실행 중일 때) 하지만 HTTP 로그를보고 있는데 어떻게 사용하지 못하게할지 모릅니다. 내 터미널에서 RSpec에 출력 조각 : Rspec 출력에서 ​​HTTP 로그를 비활성화하는 방법은 무엇입니까?

.............get http://0.0.0.0:3000/device_info/?api_session=%23%7Bapi_session%7D User-Agent: "Faraday v0.8.7" 404 content-type: "text/html" x-cascade: "pass" connection: "close" server: "thin 1.5.1 codename Straight Razor" .....get http://0.0.0.0:3000/device_info/12345?api_session=%23%7Bapi_session%7D User-Agent: "Faraday v0.8.7" 400 ..

나는 이유는 '패러데이'보석의 구성 될 수 있다고 가정합니다. rspec 출력에서이 로그를 어떻게 비활성화 할 수 있습니까?

답변

8

패러데이는 기본적 당 아무것도 기록하지 않습니다 :이 것보다 당신의 logger 라인을 제거하는 경우

conn = Faraday.new(:url => 'http://sushi.com') do |faraday| 
    faraday.request :url_encoded 
    faraday.response :logger 
    faraday.adapter Faraday.default_adapter 
end 
conn.get '/nigiri/sake.json' 

:

irb(main):001:0> require "faraday" 
=> true 
irb(main):002:0> Faraday.get 'http://sushi.com/nigiri/sake.json' 
=> #<Faraday::Response:0x007ff48f0422a8 @env={:method=>:get, :body=>"", :url=>#<URI::HTTP:0x007ff48f03bd40 URL:http://sushi.com/nigiri/sake.json>, :request_headers=>{"User-Agent"=>"Faraday v0.8.7"}, :parallel_manager=>nil, :request=>{:proxy=>nil}, :ssl=>{}, :status=>302, :response_headers=>{"date"=>"Thu, 25 Jul 2013 14:36:42 GMT", "server"=>"Apache/2.2.22 (Ubuntu)", "x-powered-by"=>"PHP/5.3.10-1ubuntu3.6", "location"=>"http://sushi.com/?f", "vary"=>"Accept-Encoding", "content-length"=>"20", "connection"=>"close", "content-type"=>"text/html", "set-cookie"=>"WEBUK=WUK08; path=/"}, :response=>#<Faraday::Response:0x007ff48f0422a8 ...>}, @on_complete_callbacks=[]> 

난 당신이 같은 앱에서 일부 구성 블록이 있다고 가정 STDOUT에 출력되지 않습니다. (!Rails.env.test?)

Faraday.new(url: endpoint) do |faraday| 
    faraday.request :url_encoded 
    faraday.response :logger if !Rails.env.test? 
    faraday.adapter Faraday.default_adapter 
    end 
을 테스트 할 때
3

는 그냥 response :logger 설정을 제거
관련 문제