Mock Server In Postman

Jaeyoung·2023년 10월 6일
0
post-thumbnail

Postman으로 Mock Server를 만들기 위한 가이드 문서입니다.

Collections & Examples

Mock Server를 설정하기 전에 알아야 하는 개념이 Collections와 Examples입니다. Postman에서 저장된 요청에 대한 Group을 Collection이라고 부릅니다. Collection에서는 Authorization 설정을 통해 인증 관련한 Header 값 설정이 가능하고 요청이 실행되기 전에 Postman에서 사전 요청 스크립트를 사용하여 JavaScript를 실행 시켜 변수 값, 매개변수, 헤더 및 본문 데이터 설정과 같은 사전 처리 수 있는 Pre-request Script 설정을 할 수 있고 JavaScript를 통해 테스트 로직을 설정할 수 있습니다. 마지막으로 자주 사용 되는 값에 대한 변수를 설정할 수 있습니다. Examples는 API에 대한 End Point가 실제로 동작되는 모습을 보여주고 요청과 응답에 대한 자세한 내용을 제공합니다. 응답을 저장하여 요청에 예제를 추가하거나 사용자 정의 응답으로 예제를 만들어 특정 사용 사례(시나리오)를 설명하거나 이를 사용하여 모의 서버를 설정하거나 API 문서에 더 자세한 내용을 추가할 수 있습니다.

Create Mock Server

Mock Server에 대한 Url을 생성하기 위해 Post man에서 Mock Server를 생성해줘야 합니다.

위 사진은 Postman Application을 실행하면 확인할 수 있는 화면입니다. Mock Server를 생성하기 위해 빨간영역이 가르키는 요소들로 순서대로 설명하겠습니다.

새로 Collection을 생성하는 경우

  1. Mock Servers 클릭
  2. My Workspace 밑에 + 버튼 클릭
  3. 위 순서대로 따라 했다면 Create mock server tab이 생기는데 여기서 기본적으로 Mock Server를 생성하기 위해 최소 하나 이상의 api를 추가해줘해서 Request URL를 test로 설정해주도록 하겠습니다.
  4. Next 버튼 클릭

기존에 존재하는 Collection을 연동하는 경우


1. Select an existing collection
2. 기존에 존재하는 Collection 선택
3. Next 버튼 클릭

위 순서대로 실행했다면 위와 같은 Configuration 설정 화면이 나오는데 필수적으로 Mock Server Name을 설정해주고 환경변수를 적용해야한다면 Environment를 선택(Optional) 그리고 Network 요청에 대한 Delay를 설정할 수 있는데 해당 설정이 필요하다면 선택(Optional)해주시면 됩니다. 만약 Mock Server를 Private하게 운영하고 싶다면 Make mock server private에 대해 체크하고 API 요청마다 x-api-key 헤더를 설정해주시면 되는데 헤더에 매핑되는 값은 Postman API key입니다. 그래서 만약 Postman API key가 없다면 별도로 발급해야합니다. 최종적으로 Create Mock Server 버튼을 누르면 Mock Server가 생성됩니다.

Mock Server

Mock Server를 생성하면 아래와 같은 화면을 볼 수 있는데 해당 화면에 대해 알아보도록 하겠습니다.

해당 화면에서 중요한건 빨간 영역입니다. 일단 Copy URL은 Mock Server에 대한 URL을 복사 할 수 있습니다. 근데 기본적으로 Mock Server을 생성하게되면 자동적으로 Collection이 생성이 되고 변수로 Mock Server URL이 설정을 해줍니다.(기존에 존재하는 Collection을 연동한 경우는 직접 설정해줘야함) 그리고 Edit Configuration은 아까 Mock Server를 생성할 때 설정해줬던 Configuration에 대해 수정할 수 있습니다. 마지막으로 View Collection Docs인데 Mock Server와 매핑되는 Collection에 대한 문서를 보여줍니다. 화면은 아래와 같습니다.

1번은 Mock Server에 설정된 Collection에 추가된 Request에 대한 Http Method, Url, Name을 표시해주고 있습니다. 2번은 Request에 대한 Example을 선택할 수 있습니다. 3번은 Example에 대한 Request와 Response에 대해 표시해주고있습니다.

그리고 Mock Server로 요청을 하게 되면 요청에 대한 로그가 Main Page에 표시됩니다. 로그는 TIMESTAMP, Request(url, header, body, http method), Response(body, header) 정보를 나타냅니다.

Adding an Example for mock server

Mock Server에 대한 API를 설정하기 위해 Example를 아래와 같이 생성해야합니다.

1. Collections 탭 선택
2. 생성하고자 하는 Mock Api에 대한 Request의 ··· 버튼 클릭
3. Drop Down Add example 클릭

위와 같이 했다면 아래와 같이 생성이 됩니다.

일단 먼저 mock server url로 request에 대한 url를 설정하고 Response Body나 Status code를 설정해야한다면 빨간 영역을 통해 각각 설정하고 Try 버튼을 누르면 Mock Server에 요청을 보낼 수 있습니다. 다만 Example을 저장해야 Mock Server에 반영이 되기 때문에 항상 저장하고 Try 버튼을 눌러야 정상적인 결과를 받아 볼 수 있습니다. Postman은 Matching Algorithm을 통해 적절한 Response를 던져줍니다.

케이스 테스트

  • Status Code 만약 Status Code 케이스 별로 테스트를 하기 위해서는 헤더에 x-mock-response-code를 설정하고 response로 받고자 하는 Status code를 value로 입력해주면 됩니다.
  • Request Body, Query Parameter 만약 Request Body 또는 Query Parameter의 케이스 별로 테스트를 하기 위해서는 각기 다른 Request Body와 Query Parameter 값을 설정하면됩니다.

Response Save as Example

그리고 실제 서버에 요청하고 그 결과를 바탕으로 Example를 생성할 수 있습니다. 아래 그림을 통해 생성방법에 대해 알아보겠습니다.

Send 버튼을 누르면 해당 요청에 대한 결과가 나오는데 Save as Example 버튼으로 Example을 생성할 수 있습니다.

profile
Programmer

0개의 댓글