0
FsCheck를보고 몇 가지 테스트를 작성하기 시작했습니다. 이제 더 복잡한 중재자를 구성하기위한 좋은 전략이 무엇인지 궁금합니다. 임의적으로 좋은 접근법에 등록한 중재자는 있습니까? 당신이 다른 관련 임의의 인스턴스가 같은 클래스에 추가하고 다른 인스턴스 간의 종속성이있는 경우 직접 대신 메서드를 호출 할 경우이이것은 중재자를 구성하는 좋은 전략입니까?
public class DiscountAmountArbitrator
{
public static Arbitrary<DiscountAmount> DiscountAmounts()
{
Arb.Register<AmountArbitrary>();
var toReturn = (from a in Arb.Generate<Amount>()
select new DiscountAmount(a))
.ToArbitrary();
return toReturn;
}
}
public class AmountArbitrary
{
public static Arbitrary<Amount> Amounts()
{
return Arb.Generate<decimal>().Where(x => x > 0)
.Select(x => new Amount(x))
.ToArbitrary();
}
}
'shrink'의 기본 구현을 사용하고 있기 때문에 발전기를 정의하고 하나를'DiscountAmounts '로 전달할 수도 있습니다. 그런 다음 '임의'인스턴스를 별도로 등록하십시오. – Lee