我正在尝试为我的测试模拟函数fs.readdir。
起初我尝试使用sinon,因为这是一个非常好的框架,但没有奏效。
stub(fs, 'readdir').yieldsTo('callback', { error: null, files: ['index.md', 'page1.md', 'page2.md'] });
我的第二次尝试是用一个自我替换的函数来模拟这个函数。但它也不起作用。
beforeEach(function () {
original = fs.readdir;
fs.readdir = function (path, callback) {
callback(null, ['/content/index.md', '/content/page1.md', '/content/page2.md']);
};
});
afterEach(function () {
fs.readdir = original;
});
谁能告诉我为什么两者都不起作用?谢谢!
更新 - 这也不起作用:
sandbox.stub(fs, 'readdir', function (path, callback) {
callback(null, ['index.md', 'page1.md', 'page2.md']);
});
更新2:
当我试图在我的测试中直接调用这个函数时,我最后一次模拟readdir函数的尝试是有效的。但不是当我在另一个模块中调用模拟函数时。