API Test/POSTMAN2025. 3. 19. 08:00

004. Postman 테스트 만드는 방법 알아보았습니다.

 

Postman 테스트 만드는 방법

 

Postman 테스트는 요청에 추가되는 JavaScript 코드로, 성공 또는 실패 상태, 예상 결과와의 비교 등을 확인하는 데 도움을 줍니다.

일반적으로 pm.test로 시작하며, 다른 도구에서 사용되는 assert나 verify 명령과 유사하게 작동합니다.

 

이전 레슨에서 매개변수화된 요청을 사용했으므로, 이제 이를 활용하여 Postman으로 기본적인 API 테스트를 수행해 보겠습니다.

1단계) 이전 튜토리얼의 GET 사용자 요청으로 이동하세요.

  • 상단의 Tests 탭으로 전환합니다.
  • 오른쪽에는 코드 스니펫(Snippets) 섹션이 있습니다.
  • 스니펫 목록에서 "Status code: Code is 200"을 클릭합니다.
  • 코드 창에 해당 코드가 자동으로 추가됩니다.

2단계) 이제 Send 버튼을 클릭합니다.

  • 테스트 결과가 화면에 표시됩니다.
  • 요청이 성공적으로 호출되었다면, 테스트가 통과되었을 것입니다.

3단계) 다시 테스트 탭으로 이동하여 새로운 테스트를 추가해 보겠습니다.

이번에는 예상 결과와 실제 결과를 비교해 보겠습니다.

  • 스니펫 섹션에서 "Response body: JSON value check"를 선택합니다.
  • 우리는 id가 1인 사용자가 Leanne Graham인지 확인할 것입니다.

4단계) 코드 수정하기

  1. 테스트 이름 변경:
    • 코드에서 "Your test name"을 "id가 1인 사용자가 Leanne Graham인지 확인"으로 변경합니다.
    • 이렇게 하면 테스트의 목적이 명확해집니다.
  2. JSON 경로 수정:
    • jsonData.value를 jsonData[0].name으로 변경합니다.
    • 설명:
      • 응답 본문에서 데이터를 확인하려면, 이전에 받은 결과의 구조를 알아야 합니다.
      • Leanne Graham은 userId가 1이므로 배열의 첫 번째 요소입니다. 따라서 인덱스는 [0]입니다.
      • 만약 두 번째 사용자를 확인하려면 [1]을 사용합니다.
  3. 기대 값 설정:
    • .to.eql("value")에서 "value"를 "Leanne Graham"으로 변경합니다.

수정된 코드 예시:

 
pm.test("Check if user with id1 is Leanne Graham", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData[0].name).to.eql("Leanne Graham");
});

5단계) 테스트 실행

  • Send 버튼을 클릭하여 요청을 다시 보냅니다.
  • 이번에는 두 개의 테스트 결과가 나타날 것입니다.
    • Status code is 200: 통과
    • id가 1인 사용자가 Leanne Graham인지 확인: 통과

추가 정보

  • Postman에서는 이 외에도 다양한 종류의 테스트를 생성할 수 있습니다.
  • 스니펫을 활용하면 복잡한 코드를 직접 작성하지 않고도 쉽게 테스트를 추가할 수 있습니다.

 

Postman 스니펫(Snippet)이란 무엇인가요?

Postman 스니펫은 Postman에서 제공하는 미리 정의된 코드 조각으로, 테스트 스크립트나 프리 리퀘스트(pre-request) 스크립트를 작성할 때 손쉽게 코드를 추가할 수 있도록 도와주는 기능입니다. 자주 사용되는 코드 패턴이나 기능을 간편하게 삽입하여 테스트 작성 시간을 절약하고 코드의 일관성을 유지할 수 있습니다.

스니펫의 주요 특징

  1. 즉시 사용 가능한 코드 블록
    • 조건문, 루프, 변수 설정 등 다양한 기능을 수행하는 코드 조각을 제공합니다.
    • 복잡한 코드를 직접 작성하지 않고도 클릭 한 번으로 추가할 수 있습니다.
  2. 코드 작성 효율성 향상
    • 스니펫을 활용하면 반복적인 코딩 작업을 줄일 수 있습니다.
    • 초보자도 쉽게 테스트 스크립트를 작성할 수 있습니다.
  3. 커스터마이징 가능
    • 삽입된 스니펫 코드는 수정이 가능하여, 필요에 따라 변경하거나 확장할 수 있습니다.
    • 프로젝트 요구 사항에 맞게 스크립트를 조정할 수 있습니다.

스니펫 사용 방법

1. 테스트 탭으로 이동하기

  • 요청(Request) 탭에서 상단의 Tests 탭을 클릭합니다.

2. 스니펫 선택하기

  • 우측에 위치한 Snippets 패널에서 원하는 스니펫을 찾습니다.
  • 예를 들어, 응답 상태 코드를 확인하려면 "Status code: Code is 200" 스니펫을 선택합니다.

3. 스니펫 삽입하기

  • 선택한 스니펫을 클릭하면 코드 편집기 영역에 해당 코드가 자동으로 추가됩니다.

4. 코드 수정 및 실행

  • 삽입된 코드를 필요에 따라 수정합니다.
  • 변수명, 조건, 메시지 등을 원하는 대로 변경합니다.
  • Send 버튼을 눌러 요청을 보내고 테스트를 실행합니다.

예시: 상태 코드 확인 테스트 작성하기

1. "Status code: Code is 200" 스니펫 선택

  • Tests 탭에서 Snippets 패널의 해당 스니펫을 클릭합니다.

2. 코드 확인

  • 테스트 자동화를 통해 API의 안정성을 지속적으로 확인할 수 있습니다.
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

3. 테스트 실행

  • Send 버튼을 눌러 요청을 보냅니다.
  • 테스트 결과는 응답 패널의 하단에 표시됩니다.
  • 상태 코드가 200이면 테스트가 통과됩니다.

예시: 응답 본문의 JSON 값 확인하기

1. "Response body: JSON value check" 스니펫 선택

  • Tests 탭에서 "Response body: JSON value check" 스니펫을 클릭합니다.

2. 코드 수정

  • 테스트 이름 변경
    • "Your test name"을 원하는 테스트 명으로 변경합니다.
    • 예: "id가 1인 사용자가 Leanne Graham인지 확인"
  • JSON 데이터 접근 및 값 비교
    • jsonData.value를 응답 구조에 맞게 수정합니다.
    • 예를 들어, 응답이 사용자 목록이고 첫 번째 사용자의 이름을 확인하려면 jsonData[0].name으로 수정합니다.
    • 기대하는 값으로 "Leanne Graham"을 설정합니다.

수정된 코드 예시

pm.test("Check if user with id1 is Leanne Graham"", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData[0].name).to.eql("Leanne Graham");
});

3. 테스트 실행

  • Send 버튼을 눌러 요청을 보냅니다.
  • 테스트 결과를 확인하여 테스트가 통과되었는지 확인합니다.

스니펫 활용 팁

  • 다양한 스니펫 탐색하기
    • Postman은 상태 코드 확인, 응답 시간 측정, 헤더 검증 등 다양한 스니펫을 제공합니다.
    • 프로젝트에 맞는 스니펫을 활용하여 효율적인 테스트를 작성하세요.
  • 커스텀 스니펫 만들기
    • 자주 사용하는 코드를 직접 스니펫으로 만들어 사용할 수 있습니다.
    • 커뮤니티 또는 팀과 공유하여 협업 효율을 높일 수 있습니다.
  • 학습 도구로 활용하기
    • 스니펫 코드를 분석하며 Postman 스크립트 작성법과 JavaScript 활용 방법을 배울 수 있습니다.
    • 테스트 자동화 및 API 검증에 대한 이해도를 높일 수 있습니다.

 

Postman 스니펫은 테스트 작성 과정을 간편하고 효율적으로 만들어주는 유용한 도구입니다.

스니펫을 적극 활용하여 개발 시간을 절약하고 코드의 정확성과 일관성을 높여보세요.

  • 데이터 유효성 검사: 응답에서 특정 필드의 데이터 유형이나 값 범위를 확인하세요.
  • 에러 처리 테스트: 예상되는 에러 상황에 대한 테스트를 작성하여 API의 견고성을 높일 수 있습니다.
  • 환경 변수 활용: 테스트 간에 데이터를 공유하거나 동적으로 값을 변경할 때 유용합니다.

Postman의 다양한 기능을 탐색하여 필요에 맞는 테스트를 만들어 보세요.

꾸준한 테스트는 더 안정적이고 신뢰할 수 있는 API 개발에 큰 도움이 됩니다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터