有没有办法用测试数据创建一个类型的实例?

时间:2012-10-17 16:01:32

标签: c# autofixture nbuilder

我有一个类型,想要用测试数据创建它的实例。

我知道像 NBuilder AutoFixture 这样的框架可以创建设计时已知的类型实例(<T>)。这些框架是否能够基于仅在运行时(Type)知道的类型创建实例?

最后我想做点什么:

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

1 个答案:

答案 0 :(得分:6)

AutoFixture确实支持这一点。但是,据我所知,没有方便的扩展方法来做到这一点。

以下通用代码:

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

看起来像只有在运行时才知道的类型:

var context = new SpecimenContext(fixture.Compose());
var value = context.Resolve(new SeededRequest(typeof(MyType), null))