Autofac 키 입력을 사용하는 공장에서 테스트를 작성하는 데 문제가 있습니다. Autofac 모듈에서 AutoMock - 키 등록으로 단위 테스트하는 법?
,이 같은 일을 등록 : 내가 할 수있는 그러나public MessageHandlerFactory(
IIndex<MessageTypeEnum, IMessageHandler> messageTypeToHandlerMap)
:
이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<,>
이 주입됩니다.
키 입력을 테스트하는 올바른 방법은 무엇입니까?