【发布时间】:2020-05-12 13:35:12
【问题描述】:
我正在尝试在同一个测试文件中的多个 jest.mock 调用之间重用一个变量。
jest.mock 调用被babel-jest 提升到顶部,因此通常不允许访问模拟函数范围之外的变量。但是错误信息说:
这是防止未初始化的模拟变量的预防措施。如果确保延迟需要 mock,则允许以
mock为前缀的变量名。
因此,如果我在变量前面加上 mock,我将不再收到错误消息,但在 mock 中这些值仍然设置为 undefined。我不明白“懒惰需要”的错误消息是什么意思。是否可以在 jest.mock 调用之间共享变量?
可重现的示例:
const mockReusableValue = { x: 5 };
jest.mock('../someModule', () => {
console.log(mockReusableValue); // undefined
return {};
});
【问题讨论】:
标签: javascript node.js unit-testing jestjs