System.Type以上を使用してAutoFixtureからオブジェクトを作成する必要があります。しかし、単純に型をとるCreateAnonymous()
のオーバーロードがあるようには見えません。彼らはすべて、コンパイル時に汎用Tを期待しています。System.TypeをTに変換する方法はありますか?使用方法の詳細はAutoFixture:System.TypeからCreateAnonymousを作成する方法
編集:私は複雑なマッピングのシナリオをサポートするコンポーネントを注入するためのフックを持っているAutoMapperを使用してい
:
void ConstructServicesUsing(System.Func<Type,object> constructor)
あなたが署名からわかるように、クライアントが登録できますAutoMapperは注入されたサービス(ほとんどValueResolverの実装)が必要なときに呼び出すFunc
です。
プロダクションビルドでは、このメソッドはStructureMapコンテナを呼び出してコンポーネントを取得します。しかし、私のマッピングコードをユニットテストすると、はスタブの実装を提供する必要があります。それ以外の場合、AutoMapperは例外をスローします。私はAutomocking ContainerとしてAutoFixture + Moqを使用しているので、完全に水和されたスタブをAFに新しくさせるのは当たり前なので、私はユニットテストコードを書くことに集中することができます。
あなたの使用シナリオについて詳しく教えてください。どのような種類のテストでは、コンパイル時に型が分からないので、 'CreateAnonymous'メソッドを使用できません。 – nemesv