0
SUT (system under test)가 다양한 구성을 수행 할 수있는 단위 테스트를 작성하고 있습니다. 각 조합에 대한 매개 변수를 추가하는 대신, 나는 대안적인,보다 깨끗한 접근법을 채택하기로 결정했다. 모르는 사람들을 위해 Fixture
개체는 무작위 테스트 값을 시드하는 AutoFixture라는 라이브러리에 있습니다. , 나는 Without
메서드 호출을 통해 규칙을 무시 세트와 Locate
객체를 생성하기 위해 Build
방법을 사용하려고 해요 당신이 할 수매개 변수를 통해 추가 개체 구성을 수행하려면 어떻게합니까?
[Test]
public void Test()
{
var locate = Build(x => x.With(xx => xx.TicketNo, 123));
Assert.AreEqual(123, locate.TicketNo);
}
private Locate Build(Action<ICustomizationComposer<Locate>> customizationAction)
{
var fixture = new Fixture();
var customizationComposer = fixture.Build<Locate>();
customizationAction(customizationComposer);
var postProcessComposer = customizationComposer
.Without(x => x.Attachments)
.Without(x => x.Comments)
.Without(x => x.Reviews)
.Without(x => x.ScheduledCrew)
.Without(x => x.PendingDecision)
.Without(x => x.FinalDecision)
.Without(x => x.ConflictResolution);
return postProcessComposer.Create();
}
-
여기 내 실패 테스트입니다. 이것은 각 테스트에 필요한 기준 객체입니다. 각 테스트에는 With
메서드 호출을 통해 추가 필드 또는 하드 코드 필드 값을 무시할 수있는 옵션이 있습니다.
Build
람다 매개 변수 대신 123에
TicketNo
속성을 설정하는 설정 때문에 통과 기대
는 테스트가 실패 의 임의의 정수와 AutoFixture 씨앗 TicketNo
때문이다.
어떻게하면됩니까?