우리는 목표를 가지고
public class MyObject{
protected MyObject(){}
public string Property1 {get;private set;}
public string Property2 {get;private set;}
public string Property3 {get;private set;}
public string Property4 {get;private set;}
public string Property5 {get;private set;}
public string Property6 {get;private set;}
public string Property7 {get;private set;}
public string Property8 {get;private set;}
public string Property9 {get;private set;}
public string Property10 {get;private set;}
}
프로덕션 코드에서는 automapper를 통해이 객체를 채 웁니다. 속성에 액세스하여 올바르게 설정할 수 있습니다.
향후 파이프 라인에서이 클래스를 테스트하려는 경우 더미 값으로 특성을 채울 수 없습니다 (테스트 대상).
사용 가능한 몇 가지 옵션이 있습니다.
테스트에 필요한 매개 변수를 수락하고 속성을 설정하는 사용자 지정 생성자, 현재 3 개의 생성자가 필요합니다. 생성자가 비즈니스 기능을 제공하지 않기 때문에 이것은 깨끗하지 않습니다.
클래스를 스텁 할 수 있도록 속성을 가상으로 만듭니다. 그러나 속성을 가상으로 표시하면 비즈니스 가치가 제공되지 않으며 내 클래스를 오염시킵니다.
클래스에 오브젝트 빌더를 추가하여 오브젝트를 내부적으로 구성하십시오. 비즈니스 가치가 추가되지 않습니다. 아마도 도메인 객체에서 약간 깨끗하지만 여전히 관련이없는 많은 코드 일 것입니다.
여기에 제안, 조언 또는 대안 옵션이 있습니까?