Wie kann ich die stub node.js built-in fs während der Prüfung?

Ich will stub node.js built-ins wie fs so, dass ich eigentlich gar nicht machen, alle system-level-Datei-Aufrufe. Das einzige was ich mir vorstellen kann zu tun, ist zu gehen in fs und alle anderen Einbauten als argument, um alle meine Funktionen zu vermeiden, die echte fs verwendet werden. Dies scheint ein wenig albern und erstellt eine ausführliche Funktion Unterschrift überfüllt mit eingebautem ins als Argumente.

var fs = require('fs');

function findFile(path, callback) {
  _findFile(fs, path, callback);
}

function _findFile(fs, path, callback) {
  fs.readdir(path, function(err, files) {
     //Do something.
  });
}

Und dann während der Prüfung:

var stubFs = {
  readdir: function(path, callback) {
     callback(null, []);
  }
};

_findFile.(stubFs, testThing, testCallback);

Gibt es einen besseren Weg, als dieses Recht?

Schreibe einen Kommentar