Attualmente sto scrivendo una libreria di funzioni di supporto per produrre dei markup ripetitivi. Ho un riferimento al markup che le funzioni dovrebbero produrre, ma sono curioso di sapere come dovrei fare per testare questa unità?
Ci sono molti test unitari necessari per ottenere una copertura completa del numero di diverse variazioni di output da ciascuna funzione. Attualmente, ho un modello T4 per ogni funzione che costruisce test unitari per ogni combinazione di input per quella funzione.
Ogni test unitario fa un singolo assert contro una stringa contenente il markup di riferimento. Tuttavia, scrivere questi singoli bit di markup a mano richiederebbe molto tempo, quindi ho scritto un'altra piccola funzione di supporto che replica sostanzialmente la stessa logica che sto testando, ma in modo meno flessibile, per produrre la stringa attesa.
Mi sembra che questa potrebbe non essere la migliore idea? O questo è un approccio OK a questo tipo di problema? Quali sono le migliori pratiche che lo circondano?
Esempio di test unitario
[TestMethod]
public void Function_P1_P2_P3()
{
string markup = HelperLib.MakeMarkup(P1, P2, P3);
Assert.AreEqual(this.MakeExpectedString(P1, P2, P3), markup);
}