gpt4 book ai didi

c# - 使用 AutoFixture : resolving ICollection without mentioning every single T 测试数据生成

转载 作者:行者123 更新时间:2023-11-30 22:39:30 24 4
gpt4 key购买 nike

我尝试使用 AutoFixture 2为具有 ICollection 成员的 EntityFramework4 类生成测试数据。

    public class Parent
{
public virtual ICollection<Child1> Children1 { get; set; }
public virtual ICollection<Child2> Children2 { get; set; }
...
public virtual ICollection<Child759> Children759 { get; set; }
}

var factory = new Ploeh.AutoFixture.Fixture();
var parent = factory.CreateAnonymous<Parent>();

由于 AutoFixture 无法解析 ICollection<Child1>我得到一个Ploeh.AutoFixture.ObjectCreationException

到目前为止我找到的唯一解决方案是像这样注册每个可能的“ICollection”

    var factory = new Fixture();

factory.Register<ICollection<Child1>>(() =>
new List<Child1>());
...
factory.Register<ICollection<Child759>>(() =>
new List<Child759>());

var parent = factory.CreateAnonymous<Parent>();

我的问题是

有没有人知道告诉 AutoFixture 始终使用 List<T> 的方法或约定?如果 ICollection<T>是必需的吗?

最佳答案

AutoFixture 2.1 将有 conventions for various models of multiplicit y。计划是在 GOTO Copenhagen 之前推出 2.1 .

关于c# - 使用 AutoFixture : resolving ICollection<T> without mentioning every single T 测试数据生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5685516/

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