Autofacキー登録を使用する工場周辺でテストを書くのに問題があります。 AutofacモジュールでAutoMock - 鍵付き登録による単体テスト方法
、私はこのようなものを登録します。私はできる、しかし
:
builder.RegisterType<TypeAMessageHandler>().As<IMessageHandler>()
.Keyed<IMessageHandler>(MessageTypeEnum.A);
builder.RegisterType<TypeBMessageHandler>().As<IMessageHandler>()
.Keyed<IMessageHandler>(MessageTypeEnum.B);
builder.RegisterType<MessageHandlerFactory().As<IMessageHandlerFactory>();
はその後、工場のコンストラクタAutofacによってそのコンストラクタに注入素敵なインデックスを取得します私がautomock.Create<MessageHandlerFactory>()
を使用するとき、AutomockでユニットテストのためにIIndex<,>
を注入する方法を理解していない。 AutoMockにメッセージハンドラの実装を提供しても、キー付きのインデックスには入れられません。 IIndexの明示的な実装を作成し、それを提供するAutomockにも働かない - 両方のケースで、私の工場で空のIIndex<,>
が注入される。
キー登録をテストする正しい方法は何ですか?