我只需要使用 System.Type 从 AutoFixture 创建一个对象。但是,似乎没有CreateAnonymous()
简单地采用类型的重载。他们都期望编译时通用 T。有没有办法将 System.Type 转换为 T?
编辑使用细节:
我正在使用 AutoMapper,它有一个用于注入组件以支持复杂映射场景的钩子:
void ConstructServicesUsing(System.Func<Type,object> constructor)
从签名中可以看出,客户端可以注册Func
AutoMapper 在需要注入服务(主要是 ValueResolver 实现)时调用的。
在生产构建中,此方法调用我的 StructureMap 容器以检索组件。但是,当对我的映射代码进行单元测试时,我必须提供存根实现,否则 AutoMapper 会引发异常。由于我使用 AutoFixture + Moq 作为我的自动模拟容器,让 AF 新建一个完全水合的存根似乎很自然,这样我就可以专注于编写单元测试代码。