【问题标题】:Testdatageneration with AutoFixture: resolving ICollection<T> without mentioning every single T使用 AutoFixture 生成测试数据:解析 ICollection<T> 而不提及每一个 T
【发布时间】:2011-08-06 19:55:39
【问题描述】:

我尝试使用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&lt;Child1&gt; 我得到一个 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>();

我的问题是

如果需要ICollection&lt;T&gt;,是否有人知道告诉 AutoFixture 始终使用 List&lt;T&gt; 的方法或约定?

【问题讨论】:

    标签: c# entity-framework testing test-data autofixture


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-01-14
      • 2020-02-10
      • 1970-01-01
      • 2013-01-21
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 2015-11-13
      相关资源
      最近更新 更多