@vpiotr
Jak masz dobre testy to powinieneś tam móc wstawić dowolną wartość.
jako że dawanie dalej przykładów na iksach dupiksach chyba nie ma sensu, to idźmy do czegoś konkretniejszego
Mamy test parsera xmli, zamierzam go testować tylko i wyłącznie całościowo, bez rozbijania na jakieś unit test pojedynczych funkcyjek
[Fact]
public void Test1()
{
var xml = @"<dupa>asd</dupa>";
var engine = new XmlEngine();
var tree = engine.GenerateTree(xml);
Assert.Equals(1, tree.Root.Id);
Assert.True("asd", tree.Root.Value);
}
GenerateTree zwraca drzewo zbudowane z różnych Node
(parent class), ale chciałbym aby każdy z nich miał unikatowe, przejrzyste, a dodatkowo odtwarzalne/reproducible id instancji
Jako że pod spodem jest dużo różnych mniejszych "enginów" czy ogólnie miejsc, gdzie jest robiony new *Node()
, to bardzo zależało by mi aby uniknąć jakiegoś rozwiązania, które polegałoby na przerzucaniu jakimiś obiektami typu Settings
po całym codebase
Problem jest taki, że gdy puszczam testy, to w podejściu z 1 posta (które jest bardzo przyjemne bo mało kodu i działa OK) te statiki na siebie nachodzą
W dodatku tak sobie jeszcze myślę, że gdy w tym GenerateTree
będę robił coś Parallel.For
em to też się natknę na ten problem jak przy testach