Sto scrivendo unit test per una funzione abbastanza semplice che dipende da un insieme di dati abbastanza complicato. Essenzialmente, l'oggetto che sto manipolando rappresenta un grafico e questa funzione determina se tracciare una linea, una barra o un grafico a torta in base ai dati restituiti dal server.
Questa è una versione semplificata, usando jQuery:
setDefaultChartType: function (graphObject) {
var prop1 = graphObject.properties.key;
var numCols = 0;
$.each(graphObject.columns, function (colIndex, column) {
numCols++;
});
if ( numCols > 6 || ( prop1 > 1 && graphObject.data.length == 1) ) {
graphObject.setChartType("line");
} else if ( numCols <=6 && prop1 == 1 ) {
graphObject.setChartType("bar");
} else if ( numCols <=6 && prop1 > 1 ) {
graphObject.setChartType("pie");
}
}
La mia domanda è, dovrei usare dati falsi che vengono acquisiti dal database attuale? O posso semplicemente fabbricare dati che si adattano ai diversi casi?
Ho paura che la creazione di dati non esponga bug derivanti da modifiche nel database, ma d'altra parte, richiederebbe molto più impegno per mantenere aggiornati i dati del test che non sono sicuro è necessario.