2012-10-17 12 views
5

私はタイプがあり、テストデータでそのタイプを作成したいと思っています。テストデータを持つタイプのインスタンスを作成する方法はありますか?

私はNBuilderまたはAutoFixtureのようなフレームワークは、設計時(<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

関連する問題