我似乎无法使模拟正常工作。
一点上下文:
"jest": "^24.8.0",
"ts-jest": "^24.0.2",
"typescript": "^3.5.3"
storage.ts包含一个方法
getOsTmpDir
。moduleA.ts正在消耗storage.ts
在moduleA.spec.ts中:
jest.mock('./storage', () => ({
getOsTmpDir: jest.fn().mockImplementation(() => '/tmp'),
}));
打印(在console.log(getOsTmpDir());
给出未定义的
我尝试过的其他事情:
getOsTmpDir: jest.fn(() => '/tmp')
getOsTmpDir: jest.fn().mockReturnValue('/tmp')
但似乎没有任何帮助。我错过了什么?
编辑:我发现了问题。我没有注意到在每次测试之前所有模拟都在重置,并且由于我已经在文件顶部定义了模拟(一次),所以模拟在运行任何测试之前就被终止了
beforeEach(async () => {
jest.resetAllMocks(); <----
....
}