3

谁能告知c#中是否有任何好的框架可以生成虚拟对象和列表,这样我们就不需要手动生成存根数据?

4

5 回答 5

6

你可以试试NBuilder。它的目的是快速生成测试对象。

如果您有 Employee 类:

public class Employee
{
    public string Name { get; set; }
    public DateTime Birthday { get; set; }
} 

生成 10 个 Employee 对象的列表很简单,如下所示:

var employees = Builder<Employee>.CreateListOfSize(10).Build();

它将为对象的所有字段生成唯一的增量值:

Name1 7/12/2012
Name2 7/13/2012
Name3 7/14/2012
...

NBuilder 还具有强大的流畅接口,允许为任何生成的对象设置自定义值:

var employees = Builder<Employee>.CreateListOfSize(10)
    .TheFirst(1).With(e => e.Name = "Sergey")
    .All().With(e => e.Address = Builder<Address>.CreateNew().Build())
    .Build();

你也可以看看:

于 2012-07-12T08:22:08.493 回答
1

我喜欢使用并执行您要求的框架如下:Rhino Mocks

这适用于 C# 及其优越性。

于 2012-07-12T07:56:38.020 回答
0

如果您需要创建接口或抽象类的假实现,那么有一堆“模拟框架”可用。其中之一是Harry提到的Rhimo Mocks。作为该领域的初学者,我还建议您使用Moq,因为与 Rhino Mocks (IMHO) 相比,它更简单。

于 2012-07-12T08:30:49.157 回答
0

我喜欢使用并执行您要求的框架如下:Unitils

但话又说回来,我不知道你问的是哪种编程语言?建议的一个是Java。

于 2012-07-12T07:14:27.680 回答
0

每个人都喜欢真实的假数据,使用Bogus库。

var faker = new Faker("en");

var emailList = Enumerable.Range(1, 5)
      .Select(_ => faker.Internet.Email())
      .ToList();

//OUTPUT:
Gustave83@hotmail.com    
Evie33@gmail.com 
Abby_Wilkinson@yahoo.com 
Cecilia.Hahn@yahoo.com   
Jasen.Waelchi85@gmail.com
于 2021-06-23T12:06:43.617 回答