위키득계정 ↗
기술

Httpexpect

Httpexpect기술
분야
HTTP와 REST API 검사
언어
Go
흐름
요청 구성과 응답 단언
실행 경로
서버 연결 또는 처리기 호출
Httpexpect는 Go에서 HTTP 요청을 구성하고 응답과 본문을 연결형 단언으로 검사하는 라이브러리다. 실제 서버 호출과 처리기 직접 호출을 선택해 API 테스트를 구성할 수 있다.

요청과 기대를 연결하기

메서드와 경로, 쿼리와 본문을 단계적으로 설정한 뒤 응답의 조건을 확인한다. Httpexpect는 상태와 헤더, 쿠키 같은 응답 정보뿐 아니라 JSON 내부의 자료도 검사하도록 돕는다. 요청이 성공 상태를 돌려주었다고 결과 데이터의 의미까지 확인한 것은 아니므로 필요한 단언을 명시한다.

구조화된 본문과 통신

객체와 배열, 문자열과 수치에 맞는 조건을 표현하고 JSON 경로나 스키마를 활용할 수 있다. WebSocket 연결과 메시지 검사도 지원한다. 같은 검증 문법을 쓰더라도 처리기를 직접 호출하는 검사와 실제 네트워크를 통과하는 검사는 확인 범위가 다르다. 배포 환경이나 TLS 동작은 해당 경로에서 따로 확인한다.

재사용과 진단의 설계

공통 요청 빌더와 응답 매처로 반복을 줄일 수 있다. 재시도와 리다이렉트 정책을 바꾸면 무엇을 성공으로 보는지도 달라질 수 있으므로 명확히 설정한다. 요청과 응답을 출력하는 진단은 편리하지만 인증 정보나 개인정보를 남길 수 있다. 검사 범위와 로그 범위를 구분하고 다른 테스트의 상태가 섞이지 않도록 관리한다.

관련 문서

REST Assured / Hurl / Go-testdeep / Httpmock Go