위키득계정 ↗
기술

Responses Python 라이브러리

Responses Python 라이브러리기술
분류
HTTP 모킹 라이브러리
연동 대상
Python Requests
적용 범위
데코레이터 또는 컨텍스트
요청 비교
주소와 메서드 및 매처
Responses는 Python의 Requests 라이브러리로 보내는 HTTP 요청에 모의 응답을 제공하는 시험 도구다. 요청 조건과 응답을 등록해 외부 API에 연결하지 않고 클라이언트 동작을 확인한다.

모의 응답의 적용

응답 정의를 등록하고 모킹이 활성화된 범위에서 Requests 호출을 실행한다. 컨텍스트 관리자를 사용하면 적용 구간을 제한할 수 있다. 그 범위 밖에서는 실제 통신이 발생할 수 있으므로 시험 코드의 경계를 구분해야 한다.

요청 조건의 검사

메서드와 주소 외에 JSON 본문, 폼 데이터와 쿼리 등도 매처로 비교할 수 있다. 같은 주소에 요청했더라도 데이터가 잘못되면 일치하지 않도록 구성한다. 응답만 확인하는 시험과 요청의 올바른 구성을 확인하는 시험을 함께 작성하는 데 쓰인다.

오류 경로의 시험

모의 응답의 상태 코드와 헤더, 본문을 지정하거나 예외를 발생시킬 수 있다. 등록한 조건에 맞지 않는 요청에는 연결 오류가 발생한다. 특정 상태 코드에 대한 처리와 통신 예외에 대한 처리는 다른 경로이므로 각각 확인할 필요가 있다.

관련 문서

Nock / VCR Ruby 라이브러리 / Hurl / HTTP