2013-07-25 32 views
7

Tôi đang viết các bài kiểm tra cho ứng dụng đường ray của mình. Tôi chỉ muốn xem '.' và '*' biểu tượng, khi chạy rspec. Nhưng tôi đang xem nhật ký HTTP và không biết cách tắt chúng. Piece of đầu ra rspec từ thiết bị đầu cuối của tôi: Làm thế nào vô hiệu hoá các bản ghi http từ đầu ra Rspec?

.............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 ..

tôi cho rằng lý do có thể cấu hình của 'faraday' đá quý. Làm cách nào để tắt nhật ký này khỏi đầu ra rspec của tôi?

Trả lời

8

faraday không đăng bất cứ điều gì mỗi mặc định:

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

tôi giả định rằng bạn có một số khối cấu hình trong ứng dụng của bạn như thế này:

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' 

nếu bạn loại bỏ dòng logger, hơn có nên không có bất kỳ đầu ra nào cho STDOUT.

3

Chỉ cần loại bỏ các response :logger cấu hình khi thử nghiệm (!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 
Các vấn đề liên quan