위키득계정 ↗
기술

VCRpy

VCRpy기술
분류
HTTP 기록 및 재생 라이브러리
사용 환경
Python
기본 기록 형식
YAML
적용 범위
데코레이터와 컨텍스트
VCRpy는 Python에서 HTTP 통신을 기록하고 이후 시험에서 재생하는 라이브러리다. 지원하는 클라이언트가 주고받은 요청과 응답을 카세트 파일로 보관한다.

기록과 재생

활성화된 코드 구간의 통신을 기록하고 이후에는 일치하는 요청에 저장된 응답을 제공한다. 기록을 재생할 때에는 해당 요청에 실제 HTTP 통신이 발생하지 않는다. 외부 환경에 의존하는 시험을 반복하기 위한 방식이지만 현재 서버의 응답을 다시 확인하는 시험과는 다르다.

기록의 검사

카세트에서 요청과 응답 목록, 재생 횟수 등을 확인할 수 있다. 요청이 발생한 순서나 기대한 기록이 사용되었는지를 검사하는 데 활용한다. 단순히 코드가 끝까지 실행되었는지보다 어떤 통신을 수행했는지 확인하는 데 도움이 된다.

확장과 갱신

사용자 정의 직렬화 방식과 요청 매처를 등록할 수 있다. 실제 API가 바뀌면 기존 기록의 유효성을 검토하고 필요한 부분을 다시 수집한다. 시험을 통과시키기 위해 기록만 갱신하면 구현 오류가 함께 가려질 수 있으므로 변경 내용을 비교해야 한다.

관련 문서

VCR Ruby 라이브러리 / Responses Python 라이브러리 / RESPX / HTTP