Я хочу заглушить node.js встроенные функции, такие как fs
, чтобы я фактически не делал никаких вызовов на уровне системного уровня. Единственное, что я могу сделать, это передать в fs
и все другие встроенные функции в качестве аргумента ко всем моим функциям, чтобы избежать использования реальных fs. Это кажется немного глупым и создает многословную подпись функции, заполненную встроенными в качестве аргументов.
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.
});
}
И затем во время тестирования:
var stubFs = {
readdir: function(path, callback) {
callback(null, []);
}
};
_findFile.(stubFs, testThing, testCallback);
Там лучше, чем это правильно?