Non sono sicuro di cosa / se ci sia un gold standard su quanto un test unitario dovrebbe essere scomposto. Un'altra cosa è a volte mi chiedo se sto perdendo il mio tempo su un test specifico. Sono nuovo al test unitario / TDD. Ad esempio, ad esempio, ho un codice semplice come questo:
public class IntegerStats
{
public int MaxValue { get; private set; }
public int MinValue { get; private set; }
public int NumberOfElements { get; private set; }
public double AverageValue { get; private set; }
public IntegerStats(int[] inputArray)
{
MaxValue = inputArray.Max();
MinValue = inputArray.Min();
AverageValue = inputArray.Average();
NumberOfElements = inputArray.Length;
}
}
I miei primi due test unitari assomigliano a questo:
[Test]
public void ProvideArrayReturnsIntStatsObject()
{
int[] testArray = {1, 5, 254783, 98, 4793, 67};
IntegerStats intStats = new IntegerStats(testArray);
Assert.IsTrue(intStats.GetType().ToString().Contains("IntegerStats"));
}
[Test]
public void Length5ArrayLengthIs5()
{
var result = new IntegerStats(new int[]{5,4,8,9,4});
Assert.AreEqual(result.NumberOfElements,5);
}
Tuttavia, dovrei passare più array in questo test o dovrei eseguire diversi test sulla lunghezza di array di lunghezze diverse? Come faccio a sapere se il metodo è adeguatamente testato?
I miei prossimi progetti erano di continuare a testare le altre proprietà ... Ma poi mi stavo chiedendo se dovrei anche testare questi metodi dal momento che stanno usando algoritmi di libreria standard incorporati piuttosto che i miei algoritmi personalizzati in primo luogo .
Inoltre, avevo iniziato con un test per verificare se tutte le statistiche fossero accurate in un grande test, ma poi mi sono reso conto che non si trattava di un test unitario in quanto avrebbe potuto / dovrebbe essere suddiviso di più.
Qualunque consiglio / risorsa su questo sarebbe super utile. Il fatto è che ho letto molte cose su "Che test delle unità è", ma inserirmi nella pratica per me è stato molto diverso.