Я только что изменил валидацию [RegularExpression]
, и треть моих модульных тестов сломалась!
Оказывается, AutoFixture генерирует значения на основе этого регулярного выражения, и это здорово, но оно не понимает все регулярные выражения, поэтому я хотел бы предоставить ему более простое выражение:
Fixtures.Customize<Details>(c => c.With(d => d.PhoneNumber,
new SpecimenContext(Fixtures).Resolve(
new RegularExpressionRequest(@"[2-9]\d{2}-\d{3}-\d{4}"))));
Это приводит к общей ошибке LINQ («Последовательность не содержит элементов») во время создания объекта. Что я делаю не так?
В качестве альтернативы, есть ли способ просто отключить эту функцию? Customize()
полезно, но мешает мне использовать Build()
без повторения всей той же логики. (Не так ли?)