gpt4 book ai didi

c# - AutoFixture:如何从 System.Type 创建匿名

转载 作者:IT王子 更新时间:2023-10-29 04:53:43 26 4
gpt4 key购买 nike

我只需要使用 System.Type 从 AutoFixture 创建一个对象。但是,似乎没有仅采用类型的 CreateAnonymous() 重载。他们都期望编译时泛型 T。有没有办法将 System.Type 转换为 T?

使用详细信息进行编辑:

我正在使用 AutoMapper,它有一个用于注入(inject)组件以支持复杂映射场景的 Hook :

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

正如您从签名中看到的那样,客户端可以注册一个 Func AutoMapper 在需要注入(inject)服务(主要是 ValueResolver 实现)时调用它。

在生产构建中,此方法调用我的 StructureMap 容器以检索组件。但是,当对我的映射代码进行单元测试时,我必须提供 stub 实现,否则 AutoMapper 会抛出异常。由于我使用 AutoFixture + Moq 作为我的自动模拟容器,让 AF 新建一个完全水合的 stub 似乎很自然,这样我就可以专注于编写单元测试代码。

最佳答案

possible ,但有意隐藏,因为您应该非常很少需要这样做:

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

AutoFixture 中有大量的扩展点,通常提供比弱类型 Create 方法更好的替代方法。你想要完成什么?

关于c# - AutoFixture:如何从 System.Type 创建匿名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16546850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com