위키득계정 ↗
기술

Polyfactory

Polyfactory기술
분류
타입 기반 시험 데이터 생성기
사용 환경
Python
입력 기준
타입 힌트와 모델 정보
지원 형식
dataclass와 TypedDict 및 Pydantic 등
Polyfactory는 Python 타입 힌트를 바탕으로 시험용 데이터를 만드는 라이브러리다. 모델의 필드 정보를 읽어 객체 생성에 필요한 값을 구성하며 여러 모델 형식을 지원한다.

타입 정보를 이용한 생성

필드의 타입 정보를 데이터 생성의 기준으로 사용한다. dataclass에서는 해당 정보를 읽어 생성자에 전달할 인자들을 구성할 수 있다. 반복적인 기본값 선언을 줄이는 데 쓰이지만 타입이 표현하지 않은 업무 규칙까지 자동으로 알 수 있는 것은 아니다.

모델 형식의 범위

dataclass, TypedDict, Pydantic 모델과 msgspec 구조체 등 여러 형식의 데이터를 다룬다. 공통적인 생성 방식을 활용하면서도 프로젝트가 사용하는 모델 형태에 맞는 팩터리를 선택한다. 특정 형식의 모델을 생성하는 기능과 저장소에 보관하는 작업은 별개다.

이름과 적용 범위

이전에는 pydantic-factories라는 이름으로 제공되었으며 지원 대상을 넓히면서 Polyfactory로 이름이 바뀌었다. 오래된 예제를 사용할 때는 패키지 이름뿐 아니라 해당 버전의 구조도 확인한다. 생성된 객체가 시험 목적의 조건을 충족하는지는 별도 검증이 필요하다.

관련 문서

Factory Boy / Faker Python 라이브러리 / Hypothesis 테스트 도구 / Pytest-mock