自动夹具用值初始化列表

w00*_*977 1 c# unit-testing moq

请看下面的截图:

在此输入图像描述

这是完整的代码:

using Ploeh.AutoFixture;
using Ploeh.AutoFixture.AutoMoq;

    namespace MyNamespace.TestFixtures
    {
        [TestFixture]
        public class Tests
        {      
            [OneTimeSetUp]
            public void OneTimeSetUp()
            {

                var Fixture = new Fixture().Customize(new AutoMoqCustomization());
                List<Product> products;
                products = Fixture.Create<List<Product>>();
                Console.WriteLine("Got here");
           }
        }
    }
Run Code Online (Sandbox Code Playgroud)

为什么列表中有三个产品(全部为空)。肯定应该没有(0)吧?

更新

继续下面的答案。假设我想使用 Autofixture 创建一个列表:

List<Product> products = new List<Product>();
var Product1 = new Product() { id=1, description='Product1' };
var Product2 = new Product() { id=2, description='Product2' };
products.add(Product1);
products.Add(Product2);
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

Kev*_*ith 7

列表的默认计数为 3,此更改可通过以下内容更改

fixture.RepeatCount = 10;
var list = fixture.Create<List<MyClass>>();

// 10
list.Count
Run Code Online (Sandbox Code Playgroud)

  • 参考 RepeatCount:+1。 (2认同)