我想存根 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);
还有比这更好的方法吗?