如何模拟JSON导入Jest TypeScript



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

我目前在jest.config.js文件中使用这个全局mock。这很好:

'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

您尝试过以下操作吗?

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

最新更新