Пересмешивание нескольких реализаций интерфейса, используемого как IEnumerable в DI - PullRequest
0 голосов
/ 30 июня 2019

Использование ядра ASP.NET для внедрения зависимостей для внедрения нескольких реализаций интерфейса. Вот как выглядит мой код:

public factory(IEnumerable<ISomeInterface> interfaceImplList){}

public class Impl1:ISomeInterface(){}

public class Impl2:ISomeInterface(){}

public class Impl3:ISomeInterface(){}

public class Impl4:ISomeInterface(){}

Все вышеперечисленные реализации внедрены в фабрику, и фабрика вернет некоторую реализацию, основанную на некоторых конфигах (не относится к вопросу)

Теперь я хочу издеваться над этой фабрикой, используя moq. Есть ли способ сделать это, или я должен создать все смоделированные реализации вышеупомянутых классов, и они помещают их в IEnumerable и передают?

Также еще один вопрос, является ли даже хорошей практикой модульное тестирование для создания фабрики, возвращающей макетированный экземпляр, или я должен напрямую выполнить модульное тестирование отдельных реализаций?

...