是否有任何工具来填充用随机数据类的属性? [关闭](Are there any tools to

2019-07-17 18:35发布

我想要做的是创建具有不同特性的某些属性的一类,这个类传递到另一个将在伪代码与适当的随机数据设置的属性...这里:

public class Customer
{
   [Attribute("FirstName")]
   private string CustomerFirstName;
   public {get;set} //etc

   [Attribute("LastName")]
   private string CustomerLastName;
   public {get;set;} //etc

   [Attribute("DateTime")]
   private DateTime CustomerSignUpDate;
   public DateTime {get;set;} //yadda

   [Attribute("Phone")]
   private string CustomerPhone;
   public string {get;set;} //yadda
}

然后做这样的

IList<Customer> CustomerList=ClassFillerOutClass(new Customer(),5);

其结果将是5级具有在其物业适当的“随机”数据的客户清单。

如果不存在......我想我可以启动一个项目自己做......我只是不想推倒重来,如果它是没有必要的。

编辑:我忘了一块。 我期待以此作为测试工具。 所以在上面的例子中,我可以快速创建5个客户的随机,但适当的值的列表。 然后再说传递到我的坚持法,有什么我可以对证。 我试图避免手动创建我的TDD目的的填充对象每次。

编辑2:好了,所以我开始我自己的滚动......我会在本周末发布在Codeplex上并在此处链接...我清楚不会做,但如果其他人想它的工作将是一个开始它。

Answer 1:

好了......所以我从来没有发现一个....所以我决定开始我自己的。 退房: 对象保湿露 。

该项目是目前快速秒杀......但我认为它有潜力...让我知道,如果你有想法如何使它更好。



Answer 2:

我试图AutoFixture( http://autofixture.codeplex.com/ )和它的工作很适合我。 我能带着孩子的一行代码深层次生成的对象。



Answer 3:

现在你也有NBuilder( nbuilder.org ),做同样的。

我不知道,如果这两个项目有联系。



Answer 4:

我不知道你的目标在这里,但我会记住这接近于代码级。 这种方法可能不适合你的工作,但它在过去的我。

您可以生成随机数据,并将其放置到你的数据库。 有迹象表明,这样做一些商业的价格的产品。 我使用的一个是SQL数据发生器由展鹏。

根据手中的资料,你可以做一些文字操作的SQL转换列数据:

Table Customer
FirstName | LastName | SignUpDate | Phone
Bob         Smith      1/2/2009     555-555-1212
Jane        Doe        9/11/2009    555-300-1334
...

成:

new Customer () 
{
  CustomerFirstName = "Bob", 
  CustomerLastName = "Smith", 
  CustomerSignUpDate = DateTime.Parse("1/2/2009"), 
  Phone = "555-555-1212"
},
new Customer () 
{
  CustomerFirstName = "Jane", 
  CustomerLastName = "Doe", 
  CustomerSignUpDate = DateTime.Parse("9/11/2009"), 
  Phone = "555-300-1334
},

并包裹到这一点使用文本编辑器下面的(这是C#3.0语法):

public class FakeCustomerRepository
{
  private IList<Customer> m_Customers = new List<Customer>()
               {
                  [insert SQL text transform here]
               };

  public Customer Get(...)
  {
    return m_Customers.Find(...);
  }
}

同样,我不知道你的需求,你是否在运行时需要的随机数据。 如果你想快速和静态生成大量数据的上述方法仅是有帮助的。



Answer 5:

所有建议的对象填料没有为我的复杂对象。

我有嵌套阵列阵列超级复杂的嵌套的对象,这是半路上为我工作。 http://hydrator.codeplex.com/

我充满一切,但阵列。



Answer 6:

你可以在C#中使用对象保湿

URL http://objecthydrator.codeplex.com/

并使用像

public Employee GetEmployee()
{
     return new Hydrator<Employee>().GetSingle();
}

public IList< Employee> GetEmployees()
{
 return new Hydrator<Employee>().GetList(100);
}

阿南德更多



文章来源: Are there any tools to populate class properties with random data? [closed]
标签: c# class random