위키득계정 ↗
기술

Httpmock Go

Httpmock Go기술
분야
HTTP 응답 대역
언어
Go
입력 조건
메서드와 주소 등
검사 자료
등록 응답과 호출 통계
Httpmock는 Go의 HTTP 클라이언트 요청에 테스트용 응답을 연결하는 라이브러리다. 요청 메서드와 주소에 응답기를 등록하고 호출 횟수 등을 확인할 수 있다.

외부 응답을 통제하기

HTTP 요청을 보내는 코드의 반응을 확인할 때 외부 서비스 상태가 검사에 섞일 수 있다. Httpmock는 요청 조건에 맞는 응답기를 등록해 반환할 상태와 본문을 구성한다. 고정된 응답 외에 요청을 읽고 결과를 만드는 함수도 사용할 수 있다. 실제 서버와의 네트워크 호환성은 별도로 확인한다.

매칭 규칙의 범위

정확한 주소와 정규식 기반 조건을 사용할 수 있으며 요청 본문에 따른 매칭도 구성할 수 있다. 주소 매칭에는 경로나 쿼리 표현의 처리 규칙이 있으므로 의도한 요청만 선택되는지 확인한다. 지나치게 넓은 응답기는 잘못 만든 요청도 통과시킬 수 있다. 필요한 호출 횟수나 인자를 별도 검증에 반영한다.

클라이언트와 정리

기본 HTTP 전송 설정을 사용하는 경우와 사용자 정의 클라이언트를 사용하는 경우의 연결 방식은 다를 수 있다. 실제 테스트 대상이 어떤 클라이언트를 쓰는지 확인해야 한다. 등록된 응답과 호출 기록이 다음 검사에 남지 않도록 정리하고 공유 설정의 병렬 사용도 검토한다. 대역 응답을 받았다는 사실만으로 실제 제공자와 계약이 맞는다고 결론 내리지 않는다.

관련 문서

Gock / Go-vcr / Nock / Responses Python 라이브러리