Я нахожусь в середине TDD-бизнес-класса, который может фильтровать объекты в зависимости от их свойств. Правила фильтрации многочисленны, каждый из которых часто учитывает множество свойств.Can Autofixture перечисляет все объекты, учитывая список возможных значений для каждого свойства
Я начал проверять каждое правило, предоставляя перечисление всех объектов, которые они фильтруют, но это быстро становится неинтересным, и я хотел бы устранить боль, прежде чем мой мозг будет съеден «дегенерацией копий-пасты».
AutoFixture должен быть очень полезным в этой ситуации, но я не могу найти информацию ни в FAQ, ни в CheatSheet. Блог Ploeh populated lists выглядел многообещающим, но недостаточно углублялся для меня.
Таким образом, учитывая следующий класс
public class Possibility
{
public int? aValue {get;set;}
public int? anotherValue {get;set;}
}
я могу получить список Possibility
, где каждый класс содержит один возможный перечень предопределенных значений aValue
и anotherValue
? Например, учитывая значения [null, 10, 20]
для aValue
и [null, 42]
для anotherValue
, я бы вернул 6 экземпляров Possibility
.
Если нет, то каким образом я могу получить это поведение вне кодирования сам для каждого типа объекта?
Там будет 3 экземпляра 'Possibility'. –
Я думал больше о перечислении, как в парах -> null, null | null, 42 | 10, null | 10,42 | ...но я думаю, что вижу, как вы можете изменить «Генератор», который вы предложили, чтобы сделать это. – samy
Вы тоже можете это сделать - вам придется изменить внутренние очереди «PossibilityCustomization», а затем заменить «Take (3)» с 'Take (6)' в экземпляре Generator. –