Мне нужно создать объект из AutoFixture, используя не что иное, как System.Type. Однако, похоже, не существует перегрузки CreateAnonymous()
, которая просто берет тип. Они все ожидают компиляции времени generic T. Есть ли способ конвертировать System.Type в T?AutoFixture: как CreateAnonymous от System.Type
Редактировать с деталями использования:
Я использую AutoMapper, которая имеет крюк для введения компонентов для поддержки сложных сценариев отображения:
void ConstructServicesUsing(System.Func<Type,object> constructor)
Как вы можете видеть из подписи, клиенты могут зарегистрироваться a Func
, который AutoMapper вызывает в любое время, когда ему требуется внедренная служба (в основном реализация ValueResolver).
В строках сборки этот метод вызывает мой контейнер StructureMap для извлечения компонента. Однако, когда модуль тестирует мой код сопоставления, I должен обеспечить реализацию заглушек, в противном случае AutoMapper выдает исключение. Поскольку я использую AutoFixture + Moq в качестве контейнера для автомоек, кажется естественным, чтобы AF обновил полностью гидратированный заглушку, поэтому я могу сосредоточиться на написании кода тестового кода.
Не могли бы вы рассказать подробнее о своем сценарии использования? В каком типе теста вы не знаете время компиляции своего типа, чтобы вы не могли использовать метод CreateAnonymous? – nemesv