テスト用に関数fs.readdirをモックしようとしています。
これは非常に優れたフレームワークであるため、最初はsinonを使用しようとしましたが、うまくいきませんでした。
stub(fs, 'readdir').yieldsTo('callback', { error: null, files: ['index.md', 'page1.md', 'page2.md'] });
私の 2 番目の試みは、関数を自己置換関数でモックすることでした。しかし、それも機能しません。
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関数をモックする最後の試みが機能しています。しかし、別のモジュールでモックされた関数を呼び出しているときはそうではありません。