Próbuję wyśmiać funkcję fs.readdir dla moich testów.Mock fs.readdir do testowania
Najpierw próbowałem użyć sinon, ponieważ jest to bardzo dobre ramy, ale nie zadziałało.
stub(fs, 'readdir').yieldsTo('callback', { error: null, files: ['index.md', 'page1.md', 'page2.md'] });
Moja druga próba polegała na wyśmiewaniu funkcji za pomocą funkcji samoczynnej wymiany. Ale to też nie działa.
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;
});
Czy ktoś może mi powiedzieć, dlaczego oba nie działają? Dzięki!
Update - To nie ma również utwory:
sandbox.stub(fs, 'readdir', function (path, callback) {
callback(null, ['index.md', 'page1.md', 'page2.md']);
});
Update2:
Moja ostatnia próba drwić funkcję readdir działa, gdy próbuję to nazwać działa bezpośrednio w moim teście. Ale nie wtedy, gdy wywołuję wyśmiewaną funkcję w innym module.