具有嵌套集合的类 - 如何填充嵌套类?

2024-01-12

我对如何将一个类与另一个类的嵌套集合进行水合感到有点困惑。 我收到错误:

AutoFixture 无法从 System.Collections.Generic.IList`1[typename...] 创建实例

我尝试过使用Fixture.Register()注册用于填充内部类的类型。 我可以用一个示例来显示

  1. 主要班级
  2. 另一个类的嵌套集合 (IList/IEnumerable)。

我也注意到了Register()被标记为已过时,但没有相关文档Inject()CodePlex 上的方法,所以我很困惑这应该如何工作。


AutoFixture 不假设如何实例化接口实例,但您可以很容易实现您想要的行为 http://blog.ploeh.dk/2011/02/07/CreatingSpecificPopulatedListsWithAutoFixture.aspx- 例如对于整数:

fixture.Register(() => fixture.CreateMany<int>());

在即将推出的 AutoFixture 2.1 中,您还可以为各种集合启用约定 http://blog.ploeh.dk/2011/02/08/CreatingGeneralPopulatedListsWithAutoFixture.aspx通过单个方法调用:

var fixture = new Fixture().Customize(new MultipleCustomization());

关于 Register 方法的弃用,请注意,这只是 Register 方法的一个重载被标记为过时。 Inject 方法是直接替换方法 - 它具有相同的签名和用法,只是名称不同。所有其他寄存器重载均未弃用,应按“记录”使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有嵌套集合的类 - 如何填充嵌套类? 的相关文章

随机推荐