2016-11-10 2 views
0

Der folgende Code dient nur zur groben Erklärung; Wie Sie sehen können, benötigen wir mehrere Returns für jede "map" -Funktion, um eine Rückgabe von js zu erhalten.Testen mit Mocha js für eine Funktion mit mehreren "map"

Wie testet man diese Funktion mit Mokka? d. H., Wir können keine Mehrfachrückgaben platzieren, nur um den Wert für unsere Testzwecke zu erhalten, da solche Rückgaben die tatsächliche Implementierung der Funktion stören werden.

Also muss ich unnötige kehrt zur Umsetzung willen vermeiden, müssen aber die gleichen mehrere kehrt zum Testen ..

Vorschläge bitte?

var array = ["a","b","c"], 
 
    array1 = ["1","2","3"], 
 
    array2 = [], 
 
    returnVar; 
 
function test() { 
 
    return ("done") 
 
    array.map(function(data) { 
 
    return ("done") 
 
    array1.map(function(datum){ 
 
     array2.push(datum) 
 
     return("done") 
 
    });  
 
    }); 
 
} 
 
returnVar = test(); 
 
alert(returnVar)

Antwort

0

Dies ist nicht prüfbar Code, deshalb ist es schwer für sie Test in der aktuellen Form zu erstellen.

map wird für Datentransformationen verwendet, daher würden Sie Ihre Datentransformation in Funktion mit Eingabe- und Ausgabewerten isolieren. Das Testen dieser Funktion würde die Bereitstellung von Eingaben, das Aufrufen von Funktionen und die Überprüfung der Ausgabe erfordern.

+0

Danke für die Antwort. Ich werde darüber nachdenken .. –

0

Sie können stub Array.prototype.map Methode, aber besser Weg wäre zu testen, Funktionen zu map isoliert als @luboskrnac vorgeschlagen übergeben.

Verwandte Themen