如何在 TypeScript 中使用 Jest 模拟函数的特定重载?

Kár*_*zdi 6 javascript node.js typescript jestjs

我正在使用 Jest 来模拟该fs.promises.readDir函数。首先,我使用 ts-jest 创建了一个模拟,然后尝试按如下方式设置模拟:

import fs from 'fs';
jest.mock('fs');

const mockFs = mocked(fs, true);

describe(..., () => {
  it(..., () => {
    mockFs.promises.readdir.mockResolvedValue(['a.txt']);
  });
});

Run Code Online (Sandbox Code Playgroud)

我面临的问题是 TypeScript 无法找到返回 a 承诺string[]但返回 a 承诺的正确重载Dirent[]

此外,它还说这mockFs.promises是未定义的。

我怎样才能让它工作并模拟正确的功能?