NBuilder

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  :

  1. Ca nu am nevoie neaparat de mocking Stubs
  2. 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!

Leave a Reply

Your email address will not be published. Required fields are marked *