c# reflection automapper autofixture

c# - AutoFixture: cómo crear anónimo desde un tipo de sistema.



reflection automapper (2)

Es possible , pero intencionalmente oculto, ya que rara vez debería hacer esto:

var specimen = new SpecimenContext(fixture).Resolve(type);

Hay toneladas de puntos de extensibilidad en AutoFixture que, más a menudo que no, ofrecen una alternativa mejor que un método de creación débilmente escrito. ¿Qué está tratando de lograr?

Necesito crear un objeto de AutoFixture usando nada más que un Tipo de Sistema. Sin embargo, no parece haber una sobrecarga de CreateAnonymous() que simplemente toma un tipo. Todos esperan un T genérico en tiempo de compilación. ¿Hay alguna forma de convertir un System.Type a T?

Editar con detalles de uso:

Estoy usando AutoMapper, que tiene un gancho para inyectar componentes para admitir escenarios de mapeo complejos:

void ConstructServicesUsing(System.Func<Type,object> constructor)

Como puede ver en la firma, los clientes pueden registrar un Func que AutoMapper invoca en cualquier momento que necesite un servicio inyectado (en su mayoría implementaciones de ValueResolver).

En las compilaciones de producción, este método llama a mi contenedor StructureMap para recuperar un componente. Sin embargo, cuando la unidad prueba mi código de asignación, debo proporcionar implementaciones de código auxiliar, de lo contrario, AutoMapper lanza una excepción. Ya que estoy usando AutoFixture + Moq como mi contenedor de automocking, parece natural dejar que AF genere un trozo completamente hidratado, así que puedo concentrarme en escribir el código de prueba de la unidad.