Ce este NBuilder ? Un generator automat de obiecte – la care adauga proprietati default.
De ex:
var generator = new UniqueRandomGenerator();
var seq = new SequentialGenerator<int> { Direction = GeneratorDirection.Ascending, Increment = 1};
seq.StartingWith(1);
BuilderSetup.DisablePropertyNamingFor<Linii, int>(x => x.Pret);
Factura oh = Builder<Factura>.CreateNew().Build();
var q = Builder<Linii>.CreateListOfSize(10)
.WhereAll()
.Have(x=>x.Qty=generator.Next(1,100))
.And(x=>x.LineNumber = seq.Generate())
.Build();
oh.Linii.AddRange(q);
E foarte bun la asta – si l-am folosit atunci cind vroiam generarea de date discrete ca sa le export in Excel…
Ce am invatat de la NBuilder :
- Ca nu am nevoie neaparat de mocking Stubs
- Ca nu ar trebui ca proprietatile sa genereze efecte secundare( ca de exemplu calcularea totalului unei facturi nu ar trebui sa faca refresh la linii, chiar daca nu s-a facut incarcarea liniilor)
E free – si f bun la generare. Diferenta de timp intre el si baza de date este de 1088 ms versus 3141 ms. Folositi cu incredere la teste!