위키득계정 ↗
기술

Factory Bot

Factory Bot기술
패키지 이름
factory_bot
분류
시험 객체 팩터리
사용 환경
Ruby
생성 전략
build와 create 및 attributes_for 등
Factory Bot은 Ruby 시험에서 사용할 객체를 팩터리 정의로 생성하는 라이브러리다. 공통 속성과 변형을 정의하고 객체의 생성 및 저장 전략을 선택해 시험 데이터를 구성한다.

정의와 변형

같은 클래스에 대해 여러 팩터리를 정의하고 상속으로 공통 구성을 재사용할 수 있다. 기본 상태와 다른 역할이나 속성을 시험마다 구성하는 데 쓰인다. 객체를 만드는 코드가 여러 시험에 흩어지는 대신 생성 규칙을 한곳에서 관리할 수 있다.

객체와 속성 해시

build는 저장하지 않은 인스턴스를, create는 저장된 인스턴스를 만드는 전략이다. attributes_for는 객체 대신 속성 해시를 제공한다. 시험 대상이 생성자 입력인지 저장된 모델인지에 따라 필요한 결과 형태를 선택한다.

스텁과 연동

build_stubbed는 정의한 속성을 가진 스텁 객체를 구성한다. 실제로 저장한 객체와 동작이 같다고 가정해서는 안 되며 직렬화 등에도 제약이 있다. Rails 연동은 별도의 factory_bot_rails를 통해 제공되므로 핵심 라이브러리와 연동 패키지를 구분한다.

관련 문서

Model Bakery / Factory Boy / WebMock / VCR Ruby 라이브러리