본문으로 건너뛰기
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 기초 미완료 상태