Есть ли способ создания экземпляра типа с тестовыми данными?

У меня есть тип и я хочу создать его экземпляр с тестовыми данными.

Я знаю, что фреймворки, такие как NBuilder или AutoFixture, могут создавать экземпляры типов, которые известны во время разработки (<T>). Могут ли эти платформы создать экземпляр на основе типа, который известен только во время выполнения (Type)?

В конце я хочу сделать что-то вроде:

var value = Builder.Create(type);
var constant = Expression.Constant(value, type);

1 ответ

Решение

AutoFixture действительно поддерживает это. Но, насколько я знаю, для этого нет удобных методов расширения.

Следующий общий код:

var value = fixture.CreateAnonymous<MyType>();

будет выглядеть так с типом, известным только во время выполнения:

var context = new SpecimenContext(fixture.Compose());
var value = context.Resolve(new SeededRequest(typeof(MyType), null))
Другие вопросы по тегам