2009-10-15 6 views
2

У меня есть группа POCOs, которые все связаны друг с другом в большом дереве. Например, это элемент верхнего уровня:Каков наилучший способ заполнения POCOs фиктивными данными?

public class Incident : Entity<Incident> 
{ 
    public virtual string Name { get; set; } 
    public virtual DateTime Date { get; set; } 
    public virtual IEnumerable<Site> Sites { get; set; } 

    public Incident() 
    { 
     Sites = new HashSet<Site>(); 
    } 
} 

Дерево выходит что-то вроде Incident -> Sites -> Assessments -> Subsites -> Images. У POCO нет никакой логики, просто куча свойств. То, что я хочу сделать, - это просто заполнить каждое свойство случайными фиктивными данными, чтобы я мог написать код поиска. Каков наилучший способ сделать это, если я хочу создать большое количество фиктивных данных?

ответ

7

Я хотел бы использовать NBuilder. Это позволяет вам делать именно это - создавать случайные данные для ваших объектов, используя довольно простой синтаксис. Например:

var products = Builder<Product>.CreateListOfSize(100) 
        .WhereTheFirst(5) 
         .Have(x=>x.Title = "something") 
        .AndTheNext(95) 
         .Have(x => x.Price = generator.Next(0, 10)); 
+0

Спасибо, что упомянул об этом инструменте, и мне нужно будет сделать снимок. Я ненавижу создание тестовых данных, надеюсь, это сделает его немного менее болезненным. –

+0

Аккуратные вещи. Спасибо, мама! –

+0

Спасибо, я сейчас пробовал. Имея некоторые проблемы с его работой, но это более перспективно, чем писать целую кучу циклов. –