gpt4 book ai didi

node.js - 如何从fs.statSync stub isFile

转载 作者:行者123 更新时间:2023-12-03 10:07:13 24 4
gpt4 key购买 nike

我正在编写文件和路径操作的单元测试,但是无法在isFile中添加fs.statSync(filePath).isFile()

我收到以下错误:

ReferenceError: isFile is not defined

我的代码是:
const readFiles = fs.readdirSync(directoryPath);
readFiles.map(file => {
filePath = path.resolve(process.cwd(), `${directoryPath}/${file}`);
const isFile = fs.statSync(filePath).isFile();
if (!isFile) {
const filesList = fs.readdirSync(filePath).map(fileName => file + '/' + fileName);
files = [
...files,
...filesList,
];
} else {
files = fs.readdirSync(directoryPath);
}
});

这是我的测试前代码,用于创建 stub 并分配给rewired:
beforeEach(() => {
helpers.__set__({
'fs.statSync': sinon.stub().returns(true),
isFile: sinon.stub().returns(true),
'path.resolve': sinon.stub().returns('/a/b/c'),
});
});

请指教

最佳答案

如果您的fs.statSync stub 按预期运行,则提供true。因此,您无法在其上调用isFile

因此,我想您可以在isFile提供的对象中简单地模拟一个函数statSync,该函数将返回true:

'fs.statSync': sinon.stub().returns({ isFile: () => true})

关于node.js - 如何从fs.statSync stub isFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58353169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com