2012-10-17 96 views
5

我有一个类型,并希望用测试数据创建它的一个实例。有没有办法用测试数据创建一个类型的实例?

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

在我想要做这样的事情结束:

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

回答

5

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

下面的通用代码:

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

应该是这样的,只有在运行时已知的类型:

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

这工作:)是否有可能注册AutoFixture接口的实现当AutoFixture尝试为类型为接口的属性创建实例时? – Rookian

+1

是的,那是可能的。请问这是一个单独的问题。我会在那里回答。 –

+0

看看:http://stackoverflow.com/questions/12949417/register-an-implementation-of-an-interface-for-autofixture – Rookian

相关问题