본문으로 건너뛰기
API 도구 기초집LESSON 17

Pre-request Script와 Tests 기초

난이도입문 → 초급
예상 시간30분
선수지식이전 강의

17강. Pre-request Script와 Tests 기초

1. 이번 강의에서 해결할 문제

게임 기록·랭킹 API를 테스트하면서 요청 전 테스트 값을 준비하고 응답 상태와 JSON을 자동 검증하는 문제를 해결합니다. 수동으로 한 번 성공하는 데서 끝내지 않고 같은 결과를 다시 확인할 수 있는 요청으로 남깁니다.

2. 학습 목표

3. 핵심 개념

Pre-request Script는 요청을 보내기 전에 변수나 고유 테스트 값을 준비합니다. Post-response 스크립트는 응답 뒤 pm.test와 assertion으로 상태·헤더·JSON을 검증합니다. 예전 UI의 Tests 탭은 현재 문서에서 Post-response로 표현될 수 있으므로 공식 문서와 설치 버전의 탭 이름을 함께 확인합니다.

4. 단계별 실습

실습 경로: C:\dev\game-ranking-api-tests

  1. 플레이어 생성 요청의 Pre-request에 고유 닉네임을 만듭니다.
  2. Post-response에 201, JSON 필드, 타입 검증을 작성합니다.
  3. 응답 ID를 컬렉션 변수 playerId에 저장합니다.
  4. 일부러 기대 상태를 200으로 바꿔 실패 메시지를 확인한 뒤 복구합니다.
Postman Scripts
// Pre-request
pm.variables.set("testNickname", `api-learner-${Date.now()}`);

// Post-response (이전 UI의 Tests)
pm.test("201 Created", () => pm.response.to.have.status(201));
pm.test("플레이어 ID와 닉네임이 있다", () => {
const json = pm.response.json();
pm.expect(json.id).to.be.a("number");
pm.expect(json.nickname).to.eql(pm.variables.get("testNickname"));
pm.collectionVariables.set("playerId", json.id);
});

Postman의 버튼·탭 이름은 버전에 따라 달라질 수 있습니다. 메뉴가 다르면 설치된 앱의 도움말과 Postman 공식 문서를 먼저 확인합니다.

5. 요청과 응답이 동작하는 이유

Pre-request 스크립트가 요청 본문에 쓰일 동적 변수를 먼저 만들고, 응답 뒤 테스트가 실제 계약을 assertion으로 비교합니다. 실패한 assertion은 요청 자체와 구분된 테스트 실패로 표시됩니다.

6. 자주 하는 실수와 해결법

7. 직접 실습

8. 이해 점검 질문 3개

9. 핵심 요약

MINI QUIZ

Pre-request Script와 Tests 기초 미니 퀴즈

선택 즉시 정답과 해설을 확인할 수 있습니다. 결과는 이 브라우저에만 저장됩니다.

0 / 2
  1. 문제 1“Pre-request Script와 Tests 기초”의 개념 차이를 실제 작업에 적용한 판단은 무엇인가요?
  2. 문제 2‘응답이 JSON이라고 가정하고 바로 파싱함’ 실수를 판단할 때 “Pre-request Script와 Tests 기초” 강의가 제시한 기준은 무엇인가요?
LESSON STATUS

학습을 마쳤나요?

직접 실습과 점검 질문까지 확인한 뒤 완료로 표시하세요.

17강. Pre-request Script와 Tests 기초 미완료 상태