Ich schreibe derzeit einige Tests für eine Nodejs-Anwendung. davon ausgehen, dass ich ein Modul wie diese:Wie Unit Test 'private' Dienstprogramm Funktion in Nodejs
module.exports = function myModule(moduleParam) {
var someVar;
....
....
function helper(param) {
return param + someVar;
}
return {
doSomething: function (bar) {
....
....
var foo = helper(bar);
....
....
}
};
};
Angenommen, die ‚Helfer‘ Funktion nur innerhalb des Moduls nützlich ist und nicht nach außen freigelegt werden soll.
Was ist die "beste Praxis" zum Testen? (Natürlich kann ich die DoSomething-Funktion als Ganzes testen, aber auf diese Weise wird die "Helfer" -Funktion in einer bestimmten Situation in einer "Black-Box" -Methode getestet).
Ich benutze nodeunit als Test-Framework, für diese Metter, aber ich kann es bei Bedarf ändern.
I don Ich denke, Sie können es überhaupt testen, da Sie dafür auf die lokalen Variablen zugreifen müssen. – Bergi
Sie könnten schreiben eine Funktion, die nur eine Funktion an Exports anfügt, wenn Sie tatsächlich Tests ausführen? – phenomnomnominal
@phenomnomnominal, meinst du etwas wie eine Funktion exportiert nur wenn einige 'Test' globale Variable definiert ist oder so etwas? – ArtoAle