最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何从fs.statSync存根isFile

运维笔记admin23浏览0评论

如何从fs.statSync存根isFile

如何从fs.statSync存根isFile

我正在编写文件和路径操作的单元测试,但是无法在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);
        }
      });

这是我的测试前代码,用于创建存根并分配给重新连接的内容:

beforeEach(() => {
    helpers.__set__({
      'fs.statSync': sinon.stub().returns(true),
      isFile: sinon.stub().returns(true),
      'path.resolve': sinon.stub().returns('/a/b/c'),
    });
  });

请告知

回答如下:

如果您的fs.statSync存根按预期工作,它将提供true。因此,您无法在其上调用isFile

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

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

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论