ho incontrato alcuni test di unità scritti da un altro sviluppatore che utilizzano regolarmente una versione di overload di Assert.AreEqual
in questo modo:Quando di passare cultura quando si confrontano le stringhe utilizzando Assert.AreEqual() in C#
Assert.AreEqual(stringparamX, stringParamY, true, CultureInfo.InvariantCulture);
stringParamX
è impostato all'interno del test dell'unità e stringparamY
sarà il risultato dal sistema in prova.
È possibile che questo codice possa essere trasferito in altri paesi e questi test possono essere eseguiti. Tuttavia, per dare un'occhiata allo MSDN docs for Culture, non posso fare a meno di pensare che passare CultureInfo.InvariantCulture
stia aggiungendo una complessità non necessaria qui. Non sono sicuro del tipo di impatto che rimuoverà sui test se eseguito in altre culture.
Nel contesto del test delle unità nella mia situazione, perché dovrei (o non) scrivere affermazioni come questa?