我想使用Jest模拟一个.json文件,以便在Typescript中进行单元测试。

我目前在jest.config.js文件中使用此全局模拟。这工作正常:

    'package.json': '<rootDir>/__tests__/tasks/__mocks__/data.json'


但是我想在测试类中本地模拟它。

这对我不起作用:

jest.mock('../../package.json', () => ({
    package : { name: '__name__', 'version': '__version__'};
}), { virtual: true })

最佳答案

您可以模拟该类,然后将该文件的默认导出分配给变量,如下所示:

jest.mock('../../utils/api/api');
const FakeClass = require('../someFile.js').default;


然后像这样访问对模拟类中的函数的调用:

FakeClass.prototype.myFunc.mock.calls

09-25 16:35
查看更多