Dynamic Variables 소개: 실제와 같은 테스트 데이터를 즉시 생성

발행: (2026년 3월 9일 PM 04:32 GMT+9)
5 분 소요
원문: Dev.to

Source: Dev.to

동적 변수란 무엇인가요?

동적 변수는 런타임에 자동으로 생성된 값으로 해석되는 특수한 자리표시자입니다. $ 접두사를 사용하며 다음 템플릿 구문으로 접근합니다:

{{$variableName}}

요청이 실행될 때마다 변수는 새로운 값을 생성합니다.

예시

  • {{$randomUUID}} → 새로운 UUID 생성
  • {{$timestamp}} → 현재 UNIX 타임스탬프
  • {{$randomInt}} → 무작위 정수
  • {{$guid}} → GUID‑형식 식별자

핵심 차이점: 이 변수들은 직접 정의하지 않아도 되며, 내장되어 바로 사용할 수 있다는 점입니다.

테스트 데이터 생성이 왜 어려운가요

개발자와 QA 팀은 반복적으로 다음과 같은 문제에 직면합니다:

  • 재사용된 이메일이나 사용자 ID 때문에 회원가입 및 고유성 검증이 실패함.
  • 매 실행마다 페이로드를 수동으로 수정해야 하며, 이는 느리고 오류가 발생하기 쉬움.
  • 데이터가 이미 데이터베이스에 존재하면 테스트가 깨짐.

동적 변수는 매 실행마다 새롭고 현실적인 입력을 제공함으로써 이러한 문제를 해소합니다.

템플릿에서 동적 변수 사용하기

동적 변수는 요청의 어디에든 삽입할 수 있습니다: URL, 쿼리 파라미터, 헤더, 혹은 요청 본문.

예시 요청 본문

{
  "id": "{{$randomUUID}}",
  "email": "{{$randomEmail}}",
  "createdAt": "{{$timestamp}}"
}

각 실행마다 고유한 사용자 프로필이 생성됩니다.

스크립트에서 동적 변수 사용하기

동적 변수는 rq 객체를 통해 스크립트 내부에서도 사용할 수 있습니다.

const userId = rq.$randomUUID();
const timestamp = rq.$timestamp();
const email = rq.$randomEmail();

스크립트에서는 함수처럼 호출된다는 점에 주목하세요.

변수 인자

일부 동적 변수는 출력 형식을 맞춤화하기 위해 선택적 인자를 지원합니다.

템플릿 구문

{{$variableName arg1 arg2}}

인자를 활용한 예시

{
  "id": "{{$randomAlphaNumeric 10}}",
  "email": "{{$randomEmail 'John' 'Doe'}}",
  "age": "{{$randomInt 18 65}}",
  "price": "{{$randomPrice 10 100 2 '$'}}"
}

이를 통해 다음을 제어할 수 있습니다:

  • 무작위 문자열 길이
  • 이름 기반 이메일 생성
  • 정수 범위
  • 가격 범위 및 포맷팅

추가 로직을 작성하지 않아도 유연성을 확보할 수 있습니다.

실제 활용 사례

동적 변수는 다양한 워크플로우에서 빛을 발합니다:

  • 회원가입 흐름: 데이터베이스 정리 없이 매 테스트 실행마다 고유한 사용자를 생성.
  • OTP/타임스탬프 테스트: 인증 흐름에 필요한 유효한 시간 기반 페이로드 생성.
  • 부하 테스트: 무작위 입력을 제공해 엣지 케이스 버그를 발견.
  • CI/CD 파이프라인: 사전 시드 데이터에 의존하지 않는 신뢰성 높고 재현 가능한 테스트 실행.
  • 목킹 서버: 프론트엔드 개발을 위해 현실적이고 가변적인 응답 반환.

이러한 기능은 부ritt한 테스트를 견고한 검증으로 바꾸고, 개발 피드백 루프를 가속화합니다.

0 조회
Back to Blog

관련 글

더 보기 »