단위 테스트에서 테스트 데이터를 작성하기 위해 데이터 빌더를 만들었습니다. 내 데이터 빌더는 모든 특성에 대한 기본값을 작성하여 사용하는 테스트가 테스트에 적용 할 수있는 특성 만 지정하면됩니다. 다음과 같이 내가 개체를 만들 수 있습니다 나는 ID가 나에게 중요하는 시험에서 고객을 만들 필요가 있다면, 이렇게테스트 데이터 빌더가 비 프리미티브 (non-primitives)의 기본값을 구성해야합니까?
public class CustomerBuilder
{
public int id = 0;
public Order order = new OrderBuilder().Build();
public CustomerBuilder WithId(int id)
{
this.id = id;
return this;
}
public CustomerBuilder WithOrder(Order order)
{
this.order = order;
return this;
}
public Customer Build()
{
return new Customer(id, order);
}
}
하지만 주문은 무관하다 :
는 다음 빌더를 고려 :
Customer c = new CustomerBuilder()
.WithId(99)
.Build();
이 것이 좋나요? 또는 비 기본 속성을 어떻게 구성해야하는지 가정하는 것이 최선이 아닌 이유가 있습니까?