2014-01-14 4 views
0

저는 많은 곳에서 원격 요청을하는 비교적 큰 응용 프로그램을 가지고 있습니다.VCR을 사용하여 모든 요청을 기록하는 방법은 무엇입니까?

내가 VCR을 추가하는 방법을 알고있는 유일한 방법은 모든 요청 테스트 주변 블록의 유형을 추가하는 것입니다

VCR.use_cassesse "whatever" do 
    # request processing 
end 

을하지만 20 개 같은 요청을 받았을 때 - 너무 복잡 될 수 있습니다.

VCR 구성 파일을 편집하여 모든 요청을 즉시 기록 할 수있는 방법이 있습니까?

답변

0

테스트 스위트에서는 카세트를 넣거나 꺼낼 수 있습니다.이 테스트에서는 모든 요청을 기록합니다 ( 메서드 호출).

당 내 경험에 의하면을 설명하는 것이 적합합니다.

 
    before do 
    VCR.insert_cassette 'whatever' 
    end 

    after do 
    VCR.eject_cassette 
    end 
0

이 작업을 수행하는 VCR의 요청 후크를 사용할 수 있습니다 : 이것은 당신이 제공하는 HTTP 요청에 따라 카세트 이름 지정 체계를 적용 cassette_name_for 방법을 서면으로 작성했습니다 가정

VCR.configure do |vcr| 
    vcr.before_http_request do |request| 
    cassette_name = cassette_name_for(request) 
    VCR.insert_cassette(cassette_name) 
    end 

    vcr.after_http_request do |request| 
    VCR.eject_cassette 
    end 
end 

.

관련 문제