191
rated 0 times
[
198]
[
7]
/ answers: 1 / hits: 21158
/ 11 Years ago, sat, march 30, 2013, 12:00:00
I want to stub node.js built-ins like fs
so that I don't actually make any system level file calls. The only thing I can think to do is to pass in fs
and all other built-ins as an argument to all of my functions to avoid the real fs from being used. This seems a little bit silly and creates a verbose function signature crowded with built ins as arguments.
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.
});
}
And then during testing:
var stubFs = {
readdir: function(path, callback) {
callback(null, []);
}
};
_findFile.(stubFs, testThing, testCallback);
There's a better way than this right?
More From » node.js