2012-12-29 4 views
0

난에 방법 및 체인 to_return 인수로 그들에게 의을 를 사용하려는 web_mock를 사용 raw_responses 의 배열을 가지고 stub_request 방법 :stub_request 체인 to_return는

#["file1.txt", "subfolder/file_n.txt", "awsome_name.txt"] 
rr = Dir.glob(File.expand_path("../../markups/*.txt", __FILE__)) 
stub_request(:get, "www.google.de").to_return(rr[0]).to_return(rr[1]).to_return(rr[2]) 

어떻게 다시 작성 열거 자 등을 사용하여 마지막 문자열 rr의 모든 배열을 사용하려면?

답변

0

README에 설명 된대로 to_return 메서드에 대한 여러 응답을 인수로 전달하기 만하면됩니다. 기본적으로 당신은 같은 것을 원하는 :

stub_request(:get, "www.google.de").to_return(rr[0], rr[1], rr[2]) 

을하지만 그와 같은 배열 값을 나열하는 것은 조금 투박 (과 응답의 변수 번호가 작동하지 않습니다) 대신 루비의 플랫 연산자를 사용한다, 그래서 :

responses = Dir[File.expand_path("../../markups/*.txt", __FILE__)].map{|f| File.read(f)} 
stub_request(:get, "www.google.de").to_return(*responses) 
0

는 마침내 나는이

stub = stub_request(:get, "www.google.de") 
rr.each { |rf| stub.tap { |s| s.to_return(File.new(rf)) } } 
처럼했다